# template: smart_proxy_plugin %global gem_name smart_proxy_salt %global plugin_name salt %global foreman_proxy_min_version 2.5 %global foreman_proxy_dir %{_datadir}/foreman-proxy %global foreman_proxy_statedir %{_sharedstatedir}/foreman-proxy %global foreman_proxy_bundlerd_dir %{foreman_proxy_dir}/bundler.d %global foreman_proxy_settingsd_dir %{_sysconfdir}/foreman-proxy/settings.d %global salt_config_dir %{_sysconfdir}/salt %global salt_proxy_runners_dir %{foreman_proxy_dir}/salt/runners %global salt_proxy_reactors_dir %{foreman_proxy_dir}/salt/reactors %global salt_state_grains_dir %{foreman_proxy_statedir}/salt/grains Name: rubygem-%{gem_name} Version: 5.1.0 Release: 1%{?foremandist}%{?dist} Summary: SaltStack Plug-In for Foreman's Smart Proxy License: GPLv3 URL: https://github.com/theforeman/smart_proxy_salt Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem # salt-specific dependencies Requires: salt-master Requires: python3 BuildRequires: python3-rpm-macros # start specfile generated dependencies Requires: foreman-proxy >= %{foreman_proxy_min_version} Requires: ruby >= 2.7 Requires: ruby < 4 BuildRequires: ruby >= 2.7 BuildRequires: ruby < 4 BuildRequires: rubygems-devel BuildArch: noarch Provides: foreman-proxy-plugin-%{plugin_name} = %{version} # end specfile generated dependencies %description This plug-in adds support for Salt to Foreman's Smart Proxy. %package doc Summary: Documentation for %{name} Requires: %{name} = %{version}-%{release} BuildArch: noarch %description doc Documentation for %{name}. %prep %setup -q -n %{gem_name}-%{version} %build # Create the gem as gem install only works on a gem file gem build ../%{gem_name}-%{version}.gemspec # %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir # by default, so that we can move it into the buildroot in %%install %gem_install %install mkdir -p %{buildroot}%{gem_dir} cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ mkdir -p %{buildroot}%{_bindir} cp -a .%{_bindir}/* \ %{buildroot}%{_bindir}/ find %{buildroot}%{gem_instdir}/bin -type f | xargs chmod a+x # runners mkdir -p %{buildroot}%{salt_proxy_runners_dir} mv %{buildroot}%{gem_instdir}/salt/minion_auth/srv/salt/_runners/* \ %{buildroot}%{salt_proxy_runners_dir} mv %{buildroot}%{gem_instdir}/salt/report_upload/srv/salt/_runners/* \ %{buildroot}%{salt_proxy_runners_dir} # reactors mkdir -p %{buildroot}%{salt_proxy_reactors_dir} mv %{buildroot}%{gem_instdir}/salt/minion_auth/foreman_minion_auth.sls \ %{buildroot}%{salt_proxy_reactors_dir}/ mv %{buildroot}%{gem_instdir}/salt/report_upload/foreman_report_upload.sls \ %{buildroot}%{salt_proxy_reactors_dir}/ # grains mkdir -p %{buildroot}%{salt_state_grains_dir} touch %{buildroot}%{salt_state_grains_dir}/autosign_key # bundler file mkdir -p %{buildroot}%{foreman_proxy_bundlerd_dir} mv %{buildroot}%{gem_instdir}/bundler.d/%{plugin_name}.rb \ %{buildroot}%{foreman_proxy_bundlerd_dir} # sample config mkdir -p %{buildroot}%{foreman_proxy_settingsd_dir} mv %{buildroot}%{gem_instdir}/settings.d/salt.saltfile.example \ %{buildroot}%{foreman_proxy_settingsd_dir}/salt.saltfile mv %{buildroot}%{gem_instdir}/settings.d/salt.yml.example \ %{buildroot}%{foreman_proxy_settingsd_dir}/salt.yml mkdir -p %{buildroot}%{salt_config_dir} cp -pa .%{gem_instdir}/etc/foreman.yaml.example %{buildroot}%{salt_config_dir}/foreman.yaml mkdir -p %{buildroot}%{_bindir} cp -pa .%{_bindir}/foreman-node %{buildroot}%{_bindir}/foreman-node mkdir -p %{buildroot}%{_sbindir} mv %{buildroot}/%{gem_instdir}/sbin/upload-salt-reports %{buildroot}%{_sbindir}/upload-salt-reports %files %dir %{gem_instdir} %{_bindir}/foreman-node %{_sbindir}/upload-salt-reports %config(noreplace) %attr(0640, root, foreman-proxy) %{foreman_proxy_settingsd_dir}/salt.saltfile %config(noreplace) %attr(0640, root, foreman-proxy) %{foreman_proxy_settingsd_dir}/salt.yml %license %{gem_instdir}/LICENSE %{gem_instdir}/bin %exclude %{gem_instdir}/bundler.d %{gem_instdir}/etc %{gem_libdir} %{gem_instdir}/salt %{gem_instdir}/sbin %exclude %{gem_instdir}/settings.d %{foreman_proxy_bundlerd_dir}/%{plugin_name}.rb %exclude %{gem_cache} %{gem_spec} %config(noreplace) %{salt_config_dir}/foreman.yaml %exclude %{gem_instdir}/etc %{salt_proxy_runners_dir} %{salt_proxy_reactors_dir} %dir %attr(-,foreman-proxy,foreman-proxy) %{salt_state_grains_dir} %ghost %{salt_state_grains_dir}/autosign_key %files doc %doc %{gem_docdir} %doc %{gem_instdir}/README.md %post if [ ! -f %{salt_state_grains_dir}/autosign_key ] ; then touch %{salt_state_grains_dir}/autosign_key chmod 640 %{salt_state_grains_dir}/autosign_key chown foreman-proxy:foreman-proxy %{salt_state_grains_dir}/autosign_key fi %changelog * Fri Apr 19 2024 Nadja Heitmann 5.1.0-1 - Update to 5.1.0-1 - Remove python2 support * Fri Nov 25 2022 Bastian Schmidt 5.0.1-1 - Update to 5.0.1 - Drop cron job * Thu Aug 18 2022 Bastian Schmidt 5.0.0-4 - Add automatic report upload via reactor * Mon May 09 2022 Eric D. Helms - 5.0.0-3 - Drop unused smart_proxy_dynflow_core_bundlerd_dir macro * Tue Apr 05 2022 Bernhard Suttner - 5.0.0-2 - Fix wrong rubygem wrapper script for shell script 'salt_python_wrapper' * Mon Feb 14 2022 Bernhard Suttner 5.0.0-1 - Update to 5.0.0 * Wed Jan 12 2022 Bastian Schmidt 4.0.0-1 - Update to 4.0.0 - Add Autosign via Grains authentication - Remove smart_proxy_salt_core * Mon Jan 10 2022 Evgeni Golov - 3.1.2-9 - use versioned obsoletes for proxy plugins * Tue Apr 06 2021 Eric D. Helms - 3.1.2-8 - Rebuild for Ruby 2.7 * Wed Mar 17 2021 Adam Ruzicka 3.1.2-7 - Deploy bundlerd file for foreman proxy * Thu Jul 09 2020 Bernhard Suttner - 3.1.2-6 - Fix upload-salt-report path - Fix hashbang for foreman-node helper script * Fri Jul 03 2020 Stefan Bogner - 3.1.2-5 - Do not change hashbang on RHEL < 8 * Tue Jun 23 2020 Markus Bucher - 3.1.2-4 - Fix hashbang in upload-salt-reports * Mon Jun 22 2020 Adam Ruzicka 3.1.2-3 - Prevent local state from being put to /usr/com * Mon Jun 22 2020 Evgeni Golov - 3.1.2-2 - Fix bundler.d location on EL8 * Tue Jun 09 2020 Bernhard Suttner 3.1.2-1 - Update to 3.1.2 - Move local state to /var/lib (Co-Authored-By: Adam Ruzicka ) * Fri Jan 17 2020 Zach Huntington-Meath - 3.1.1-4 - Update spec to remove the ror scl * Tue Jan 07 2020 Eric D. Helms - 3.1.1-3 - Build for SCL * Mon Nov 18 2019 Eric D. Helms - 3.1.1-2 - Update to SCL based template * Tue Nov 05 2019 Bernhard Suttner 3.1.1-1 - Update to 3.1.1 * Thu Oct 31 2019 Bernhard Suttner 3.1.0-1 - Update to 3.1.0 * Fri Aug 02 2019 Adam Ruzicka 3.0.0-1 - Update to 3.0.0 * Tue May 08 2018 Michael Moll 2.1.9-1 - update smart_proxy_salt to 2.1.9 (kvedulv@kvedulv.de) * Thu Mar 30 2017 Dominic Cleal 2.1.8-1 - update smart_proxy_salt to 2.1.8 (kvedulv@kvedulv.de) * Mon Oct 10 2016 Dominic Cleal 2.1.7-1 - update smart_proxy_salt to 2.1.7 (kvedulv@kvedulv.de) * Mon Oct 26 2015 Dominic Cleal 2.1.6-1 - Small smart_proxy_salt update (stbenjam@redhat.com) * Tue Sep 01 2015 Dominic Cleal 2.1.5-1 - Release smart_proxy_salt 2.1.5 (stbenjam@redhat.com) * Thu Aug 13 2015 Stephen Benjamin 2.1.4-1 - Update smart_proxy_salt to 2.1.4 * Fri Jun 26 2015 Dominic Cleal 2.1.3-1 - update smart_proxy_salt to 2.1.3 (kvedulv@kvedulv.de) * Sat May 09 2015 Stephen Benjamin 2.1.2-1 - Update smart_proxy_salt to 2.1.2 (stephen@redhat.com) * Mon Mar 02 2015 Dominic Cleal 2.0.0-1 - Update smart_proxy_salt to 2.0.0 (dcleal@redhat.com) * Thu Nov 20 2014 Dominic Cleal 1.0.0-3 - Only require foreman-proxy 1.6.0 or higher (stbenjam@redhat.com) * Thu Nov 20 2014 Dominic Cleal 1.0.0-2 - Fix cron.d file permissions (stbenjam@redhat.com) * Wed Nov 19 2014 Stephen Benjamin - 1.0.0-1 - Update to 1.0.0 * Sun Aug 31 2014 Michael Moll - 0.0.2-1 - update to 0.0.2 * Wed Aug 20 2014 Michael Moll - 0.0.1-1 - create package