%global include_tests 1 %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} %{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} %{!?pythonpath: %global pythonpath %(%{__python} -c "import os, sys; print(os.pathsep.join(x for x in sys.path if x))")} %define _salttesting SaltTesting %define _salttesting_ver 2016.5.11 Name: salt Version: 2017.7.2 Release: 1%{?dist} Summary: A parallel remote execution system Group: System Environment/Daemons License: ASL 2.0 URL: http://saltstack.org/ Vendor: VMware, Inc. Distribution: Photon Source0: http://pypi.python.org/packages/source/s/%{name}/%{name}-%{version}.tar.gz %define sha1 salt=c0e7db44328e5400b17c8cd15033991855c6fe2e Source1: https://pypi.python.org/packages/source/S/SaltTesting/SaltTesting-2016.5.11.tar.gz %define sha1 SaltTesting=474dbd7029e3d48cdb468be3c63b2262e47556c8 Source2: %{name}-master.service Source3: %{name}-syndic.service Source4: %{name}-minion.service Source5: %{name}-api.service Source6: logrotate.salt BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch %ifarch %{ix86} x86_64 Requires: dmidecode %endif Requires: pciutils Requires: python-backports_abc Requires: python-singledispatch BuildRequires: python2-devel BuildRequires: systemd Requires: pycrypto Requires: python-jinja2 Requires: python-msgpack Requires: PyYAML Requires: python-requests Requires: python-zmq Requires: tornado %description Salt is a distributed remote execution system used to execute commands and query data. It was developed in order to bring the best solutions found in the world of remote execution together and make them better, faster and more malleable. Salt accomplishes this via its ability to handle larger loads of information, and not just dozens, but hundreds or even thousands of individual servers, handle them quickly and through a simple and manageable interface. %package master Summary: Management component for salt, a parallel remote execution system Group: System Environment/Daemons Requires: %{name} = %{version}-%{release} %description master The Salt master is the central server to which all minions connect. %package minion Summary: Client component for Salt, a parallel remote execution system Group: System Environment/Daemons Requires: %{name} = %{version}-%{release} %description minion The Salt minion is the agent component of Salt. It listens for instructions from the master, runs jobs, and returns results back to the master. %package syndic Summary: Master-of-master component for Salt, a parallel remote execution system Group: System Environment/Daemons Requires: %{name} = %{version}-%{release} %description syndic The Salt syndic is a master daemon which can receive instruction from a higher-level master, allowing for tiered organization of your Salt infrastructure. %package api Summary: REST API for Salt, a parallel remote execution system Group: System administration tools Requires: %{name}-master = %{version}-%{release} %description api salt-api provides a REST interface to the Salt master. %package cloud Summary: Cloud provisioner for Salt, a parallel remote execution system Group: System administration tools Requires: %{name}-master = %{version}-%{release} %description cloud The salt-cloud tool provisions new cloud VMs, installs salt-minion on them, and adds them to the master's collection of controllable minions. %package ssh Summary: Agentless SSH-based version of Salt, a parallel remote execution system Group: System administration tools Requires: %{name} = %{version}-%{release} %description ssh The salt-ssh tool can run remote execution functions and states without the use of an agent (salt-minion) service. %package proxy Summary: Command Proxy of Salt, a parallel remote execution system Group: System administration tools Requires: %{name} = %{version}-%{release} %description proxy Receives commands from a Salt master and proxies these commands to devices that are unable to run a full minion. %package spm Summary: Salt Package Manager of Salt, a parallel remote execution system Group: System administration tools Requires: %{name} = %{version}-%{release} %description spm Salt Package Manager %prep %setup -c %setup -T -D -a 1 cd %{name}-%{version} %build %install rm -rf %{buildroot} cd $RPM_BUILD_DIR/%{name}-%{version}/%{name}-%{version} %{__python} setup.py install -O1 --root %{buildroot} # Add some directories install -d -m 0755 %{buildroot}%{_var}/cache/salt install -d -m 0755 %{buildroot}%{_sysconfdir}/salt install -d -m 0755 %{buildroot}%{_sysconfdir}/salt/cloud.conf.d install -d -m 0755 %{buildroot}%{_sysconfdir}/salt/cloud.deploy.d install -d -m 0755 %{buildroot}%{_sysconfdir}/salt/cloud.maps.d install -d -m 0755 %{buildroot}%{_sysconfdir}/salt/cloud.profiles.d install -d -m 0755 %{buildroot}%{_sysconfdir}/salt/cloud.providers.d # Add the config files install -p -m 0640 conf/minion %{buildroot}%{_sysconfdir}/salt/minion install -p -m 0640 conf/master %{buildroot}%{_sysconfdir}/salt/master install -p -m 0640 conf/cloud %{buildroot}%{_sysconfdir}/salt/cloud install -p -m 0640 conf/roster %{buildroot}%{_sysconfdir}/salt/roster mkdir -p %{buildroot}%{_unitdir} install -p -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/ install -p -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/ install -p -m 0644 %{SOURCE4} %{buildroot}%{_unitdir}/ install -p -m 0644 %{SOURCE5} %{buildroot}%{_unitdir}/ mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d/ install -p -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/logrotate.d/salt %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %doc $RPM_BUILD_DIR/%{name}-%{version}/%{name}-%{version}/LICENSE %{python_sitelib}/%{name}/* %{python_sitelib}/%{name}-*-py?.?.egg-info %{_sysconfdir}/logrotate.d/salt %{_var}/cache/salt %files master %defattr(-,root,root) %doc %{_mandir}/man7/salt.7.* %doc %{_mandir}/man1/salt-cp.1.* %doc %{_mandir}/man1/salt-key.1.* %doc %{_mandir}/man1/salt-master.1.* %doc %{_mandir}/man1/salt-run.1.* %doc %{_mandir}/man1/salt-unity.1.* %doc %{_mandir}/man1/salt.1.* %{_bindir}/salt %{_bindir}/salt-cp %{_bindir}/salt-key %{_bindir}/salt-master %{_bindir}/salt-run %{_bindir}/salt-unity %config(noreplace) %{_unitdir}/salt-master.service %config(noreplace) %{_sysconfdir}/salt/master %files minion %defattr(-,root,root) %doc %{_mandir}/man1/salt-call.1.* %doc %{_mandir}/man1/salt-minion.1.* %{_bindir}/salt-minion %{_bindir}/salt-call %config(noreplace) %{_unitdir}/salt-minion.service %config(noreplace) %{_sysconfdir}/salt/minion %files syndic %doc %{_mandir}/man1/salt-syndic.1.* %{_bindir}/salt-syndic %config(noreplace) %{_unitdir}/salt-syndic.service %files api %defattr(-,root,root) %doc %{_mandir}/man1/salt-api.1.* %{_bindir}/salt-api %config(noreplace) %{_unitdir}/salt-api.service %files cloud %doc %{_mandir}/man1/salt-cloud.1.* %{_bindir}/salt-cloud %{_sysconfdir}/salt/cloud.conf.d %{_sysconfdir}/salt/cloud.deploy.d %{_sysconfdir}/salt/cloud.maps.d %{_sysconfdir}/salt/cloud.profiles.d %{_sysconfdir}/salt/cloud.providers.d %config(noreplace) %{_sysconfdir}/salt/cloud %files ssh %doc %{_mandir}/man1/salt-ssh.1.* %{_bindir}/salt-ssh %{_sysconfdir}/salt/roster %files proxy %doc %{_mandir}/man1/salt-proxy.1.* %{_bindir}/salt-proxy %files spm %doc %{_mandir}/man1/spm.1.* %{_bindir}/spm %preun master %if 0%{?systemd_preun:1} %systemd_preun salt-master.service %else if [ $1 -eq 0 ] ; then # Package removal, not upgrade /bin/systemctl --no-reload disable salt-master.service > /dev/null 2>&1 || : /bin/systemctl stop salt-master.service > /dev/null 2>&1 || : fi %preun syndic %if 0%{?systemd_preun:1} %systemd_preun salt-syndic.service %else if [ $1 -eq 0 ] ; then # Package removal, not upgrade /bin/systemctl --no-reload disable salt-syndic.service > /dev/null 2>&1 || : /bin/systemctl stop salt-syndic.service > /dev/null 2>&1 || : fi %endif %preun minion %if 0%{?systemd_preun:1} %systemd_preun salt-minion.service %else if [ $1 -eq 0 ] ; then # Package removal, not upgrade /bin/systemctl --no-reload disable salt-minion.service > /dev/null 2>&1 || : /bin/systemctl stop salt-minion.service > /dev/null 2>&1 || : fi %endif %post master %if 0%{?systemd_post:1} %systemd_post salt-master.service %else /bin/systemctl daemon-reload &>/dev/null || : %endif %post minion %if 0%{?systemd_post:1} %systemd_post salt-minion.service %else /bin/systemctl daemon-reload &>/dev/null || : %endif %postun master %if 0%{?systemd_post:1} %systemd_postun salt-master.service %else /bin/systemctl daemon-reload &>/dev/null [ $1 -gt 0 ] && /bin/systemctl try-restart salt-master.service &>/dev/null || : %endif %postun syndic %if 0%{?systemd_post:1} %systemd_postun salt-syndic.service %else /bin/systemctl daemon-reload &>/dev/null [ $1 -gt 0 ] && /bin/systemctl try-restart salt-syndic.service &>/dev/null || : %endif %postun minion %if 0%{?systemd_post:1} %systemd_postun salt-minion.service %else /bin/systemctl daemon-reload &>/dev/null [ $1 -gt 0 ] && /bin/systemctl try-restart salt-minion.service &>/dev/null || : %endif %endif %changelog * Thu Jan 11 2018 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2017.7.2-1 - Update to 2017.7.2 - Fixes CVE-2017-5192, CVE-2017-5200, CVE-2017-8109 - CVE-2017-12791, CVE-2017-14695, CVE-2017-14696 * Thu Oct 26 2017 Padmini Thirumalachar <pthirumalachar@vmware.com> 2016.11.2-1 - This is an initial version of salt for Photon OS The source is from https://github.com/saltstack/salt/archive/v2016.11.2.tar.gz