Spec URL: http://herlo.fedorapeople.org/rpms/salt.spec SRPM URL: http://herlo.fedorapeople.org/rpms/salt-0.9.1-1.fc15.src.rpm 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.
Just a few comments for now: - Where does the source come from? There is no url or comment about it. - R: python is added automatically with e.g. R: python(abi) = 2.7 - please use $manpage.1.* and not $manpage.1.gz, because if the compression of the manpages changes, this will break this spec.
Ping, any news here?
Indeed there is news. I am working on packaging up 0.9.3 this week. I've been a bit under water with the dayjob, but I think I've found some time to update this ticket.
Updated SRPM and spec file below. SRPM: http://herlo.fedorapeople.org/rpms/salt-0.9.3-1.el6.src.rpm SPEC: http://herlo.fedorapeople.org/rpms/salt.spec Thank you for reviewing this package. Clint
Updated SRPM and spec file below. SRPM: http://herlo.fedorapeople.org/rpms/salt-0.9.4-1.fc16.src.rpm SPEC: http://herlo.fedorapeople.org/rpms/salt.spec Thank you for reviewing this package. Clint
Well, that didn't last too long. The requirement for Cython went away and I originally missed it. SRPM: http://herlo.fedorapeople.org/rpms/salt-0.9.4-2.el6.src.rpm SPEC: http://herlo.fedorapeople.org/rpms/salt.spec Clint
I'm trying to get salt to work on CentOS 5 - my current stumbling block is the lack of a python26 version of the yum API... Currently python26-zmq is in epel-testing which makes building a little tricky. I also noticed that salt requires the jinja2 template engine. I'm also working on some systemd service files. There's also a bug in the selinux support with newer versions of Fedora but I'll work on a patch for that upstream. --- salt.spec.1 2011-12-01 11:31:29.000000000 -0600 +++ salt.spec 2012-01-03 15:35:54.422644339 -0600 @@ -1,9 +1,14 @@ +%if ! ( 0%{?fedora} > 12 || 0%{?rhel} > 5) +%global __python %{_bindir}/python26 +%global python python26 +%endif + %{!?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))")} Name: salt Version: 0.9.4 -Release: 2%{?dist} +Release: 2%{?dist}.1 Summary: A parallel remote execution system Group: System/Utilities @@ -17,19 +22,36 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: python(abi) + +%if ! ( 0%{?fedora} > 12 || 0%{?rhel} > 5) +Requires: python26-PyYAML +Requires: python26-crypto +Requires: python26-m2crypto +Requires: python26-zmq +Requires: python26-jinja2 +%else Requires: PyYAML Requires: python-crypto Requires: m2crypto Requires: python-zmq -Requires: python-jinja +Requires: python-jinja2 +%endif BuildArch: noarch +%if ! ( 0%{?fedora} > 12 || 0%{?rhel} > 5) +BuildRequires: python26-zmq +BuildRequires: python26-crypto +BuildRequires: python26-m2crypto +BuildRequires: python26-PyYAML +BuildRequires: python26-devel +%else BuildRequires: python-zmq BuildRequires: python-crypto BuildRequires: m2crypto BuildRequires: PyYAML BuildRequires: python-devel +%endif %description Salt is a distributed remote execution system used to execute commands and
Hi Jeffrey, Yes, we are using epel to solve the issue with python2.6. If you want to use some existing RPMS (source RPMS are there too), you can check out my fedorapeople repo at http://repos.fedorapeople.org/repos/herlo/salt/. Hope that helps. Cheers, Clint
Okay, systemd support for Fedora15+ has been added to the rpm now. Thanks to upstream. SPEC: http://herlo.fedorapeople.org/rpms/salt.spec SRPM: http://herlo.fedorapeople.org/rpms/salt-0.9.4-3.fc16.src.rpm Tom, if you could review it ASAP, that'd rock! Clint
(In reply to comment #9) > Okay, systemd support for Fedora15+ has been added to the rpm now. Thanks to > upstream. Hurray, I was just waiting on that :P Review: - name ok - noarch ok - macros everywhere - no libs - no *.la - %files see below (%doc question and more explicit in python_sitelib) - services are not %configed NEEDSWORK: - R: python(abi) is not needed, as it's added automatically anyway (even with version depending on 2.7) - master and minion R the main package, please to that with %{version} - It would be nice to install systemd scripts in rhel 7 (I bet rhel7 will have it ;)) - description of master and minion contain Summary. Please delete that and write e.g. what the packages are needed for (so they have more information than the main package description ;)) - Please be more explicit in python_sitelib, so you know, when the egg fails to build: %{python_sitelib}/salt-%{version}-py?.?.egg-info %{python_sitelib}/salt/ - systemd scripts should be 644 and not 775 - sysV ones should be 755 and not 775 - Shouldn't group be "System Environment/Daemons", System/Utilities is not a standard group. - Missing R MySQL-python in modules/mysql.py PyXML in modules/virt.py libvirt-python in modules/virt.py yum in modules/yumpkg.py - add LICENSE as %doc - ask upstream to add headers - missing BR on systemd-units (and then you can omit defining _unitdir) COMMENTS: - saltstack as URL makes more sense to me than github, but it's a matter of taste... (But at least point to saltstack's github ;)) - why are the man pages marked as %doc? Didn't see that before IIRC.
I think ti have accommodated all of those requests. Let me know if I missed anything. I also added systemctl reloads in %post and %postun. SPEC: http://herlo.fedorapeople.org/rpms/salt.spec SRPM: http://herlo.fedorapeople.org/rpms/salt-0.9.4-4.fc16.src.rpm Clint
- You added the systemctrl reloads for non-systemd releases. '%if !' and not plain '%if' needed. - %{name}.service doens't expand to salt-master.service and salt-minion.service (salt-syndic.service is missing all the way). - Deletion is missing, e.g. see: https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd %preun if [ $1 -eq 0 ] ; then # Package removal, not upgrade /bin/systemctl --no-reload disable apache-httpd.service > /dev/null 2>&1 || : /bin/systemctl stop apache-httpd.service > /dev/null 2>&1 || : fi - The service is disabled by default (enabled by default would require an exception: https://fedoraproject.org/wiki/Starting_services_by_default ) But the sysV have it enabled by default... Could you change that to match the same behaviour like in F17? (Same %post etc scripts for them would be great too) - I *guess*, the new R "MySQL-python PyXML libvirt-python yum" won't be the same on el5. Could you check that? (assuming you have better access to el5 installs as salt upstream seems to be using that mainly) - Requires: salt = %{version}-%{release} would be safer than ">=".
Okay, I think I've cleaned up those things. - You added the systemctrl reloads for non-systemd releases. '%if !' and not plain '%if' needed. Yep, my logic was bad there, fixed it so it should work now. - %{name}.service doens't expand to salt-master.service and salt-minion.service (salt-syndic.service is missing all the way). I just decided to get rid of the macros and use the full names. - Deletion is missing, e.g. see: https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Systemd %preun if [ $1 -eq 0 ] ; then # Package removal, not upgrade /bin/systemctl --no-reload disable apache-httpd.service > /dev/null 2>&1 || : /bin/systemctl stop apache-httpd.service > /dev/null 2>&1 || : fi Added! - The service is disabled by default (enabled by default would require an exception: https://fedoraproject.org/wiki/Starting_services_by_default ) But the sysV have it enabled by default... Could you change that to match the same behaviour like in F17? (Same %post etc scripts for them would be great too) I'm not 100% on whether I did this part right, please advise. - I *guess*, the new R "MySQL-python PyXML libvirt-python yum" won't be the same on el5. Could you check that? (assuming you have better access to el5 installs as salt upstream seems to be using that mainly) There is a python26-PyXML, which I've moved properly, but there isn't a yum or libvirt-python *specifically* for 2.6. I am not sure it affects the functionality of salt in those areas. I'll bug Thatch and see how he wants to proceed. - Requires: salt = %{version}-%{release} would be safer than ">=". Fixed. I should have new rpms up shortly. Clint
Updated everything. SPEC: http://herlo.fedorapeople.org/rpms/salt.spec SRPM: http://herlo.fedorapeople.org/rpms/salt-0.9.4-5.fc16.src.rpm
- %if ! (0%{?rhel} < 7 || 0%{?fedora} < 15) doesn't "work" on f16 as rhel is undefined and 0 is < 7 --> sysV is installed. e.g. this should work: "%if (0%{?rhel} > 7 || 0%{?fedora} > 15)" and below where is "%if (0%{?rhel} < 7 || 0%{?fedora} < 15)" it should be: "%if ! (0%{?rhel} > 7 || 0%{?fedora} > 15)" - http://fedoraproject.org/wiki/Packaging:SysVInitScript#Initscripts_in_spec_file_scriptlets : %preun -n salt-master/minion is missing It seems there are some more errors in the initscripts: salt.src:230: W: macro-in-%changelog %post salt.src:230: W: macro-in-%changelog %postun salt.noarch: E: non-executable-script /usr/lib/python2.7/site-packages/salt/utils/find.py 0644L /usr/bin/env salt-master.noarch: E: init-script-without-chkconfig-preun /etc/rc.d/init.d/salt-master salt-master.noarch: W: missing-lsb-keyword Required-Stop in /etc/rc.d/init.d/salt-master salt-master.noarch: W: missing-lsb-keyword Default-Stop in /etc/rc.d/init.d/salt-master salt-master.noarch: W: service-default-enabled /etc/rc.d/init.d/salt-master salt-master.noarch: W: service-default-enabled /etc/rc.d/init.d/salt-master salt-master.noarch: E: subsys-not-used /etc/rc.d/init.d/salt-master salt-master.noarch: E: init-script-without-chkconfig-preun /etc/rc.d/init.d/salt-syndic salt-master.noarch: W: missing-lsb-keyword Required-Stop in /etc/rc.d/init.d/salt-syndic salt-master.noarch: W: missing-lsb-keyword Default-Stop in /etc/rc.d/init.d/salt-syndic salt-master.noarch: W: service-default-enabled /etc/rc.d/init.d/salt-syndic salt-master.noarch: W: service-default-enabled /etc/rc.d/init.d/salt-syndic salt-master.noarch: W: no-reload-entry /etc/rc.d/init.d/salt-syndic salt-master.noarch: E: subsys-not-used /etc/rc.d/init.d/salt-syndic salt-minion.noarch: E: init-script-without-chkconfig-preun /etc/rc.d/init.d/salt-minion salt-minion.noarch: W: missing-lsb-keyword Required-Stop in /etc/rc.d/init.d/salt-minion salt-minion.noarch: W: missing-lsb-keyword Default-Stop in /etc/rc.d/init.d/salt-minion salt-minion.noarch: W: service-default-enabled /etc/rc.d/init.d/salt-minion salt-minion.noarch: W: service-default-enabled /etc/rc.d/init.d/salt-minion salt-minion.noarch: E: subsys-not-used /etc/rc.d/init.d/salt-minion It seems you have a half copy of a debian initscript or something... You could compare it to http://fedoraproject.org/wiki/Packaging:SysVInitScript#Initscript_template and try to clean up rpmlint till it's error/warning free and then correct the macros above to include the systemd scripts. (I didn't need to write one yet, so I won't be of great help here...) (In reply to comment #13) > There is a python26-PyXML, which I've moved properly, but there isn't a yum or > libvirt-python *specifically* for 2.6. I am not sure it affects the > functionality of salt in those areas. I'll bug Thatch and see how he wants to > proceed. Ok, having those deps in "%if (0%{?rhel} > 7 || 0%{?fedora} > 15)" would be best, I think. Then it doesn't clutter in the python26 package, but might lead to a crash (but Thatch will probably fix that ;))
I believe I've cleaned up all of the rpmlint. I really should have run that last time and just missed it :( $ rpmlint ~/rpmbuild/SPECS/salt.spec 0 packages and 1 specfiles checked; 0 errors, 0 warnings. [clints@x201 (master) rpm]$ rpmlint ~/rpmbuild/SRPMS/salt-0.9.4-6.fc16.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. If you check all of the binary rpms, they should be just as clean. I won't put their output here for brevity. As for the rest: - %if ! (0%{?rhel} < 7 || 0%{?fedora} < 15) doesn't "work" on f16 as rhel is undefined and 0 is < 7 --> sysV is installed. e.g. this should work: "%if (0%{?rhel} > 7 || 0%{?fedora} > 15)" and below where is "%if (0%{?rhel} < 7 || 0%{?fedora} < 15)" it should be: "%if ! (0%{?rhel} > 7 || 0%{?fedora} > 15)" Yep, missed that. In fact, I missed it in quite a few places and that is what cleaned up a bunch of the rpmlint problems. - http://fedoraproject.org/wiki/Packaging:SysVInitScript#Initscripts_in_spec_file_scriptlets : %preun -n salt-master/minion is missing Fixed this too. > It seems you have a half copy of a debian initscript or something... > You could compare it to http://fedoraproject.org/wiki/Packaging:SysVInitScript#Initscript_template and try to clean up rpmlint till it's error/warning free and then correct the macros above to include the systemd scripts. (I didn't need to write one yet, so I won't be of great help here...) It really looks like the main problem I had wasn't with the scripts, but with my login in the spec file. Once I adjusted it, things are good. I did make minor adjustments to the lsb headers in the init scripts, however. > Ok, having those deps in "%if (0%{?rhel} > 7 || 0%{?fedora} > 15)" would be best, I think. Then it doesn't clutter in the python26 package, but might lead to a crash (but Thatch will probably fix that ;)) Actually, I don't know if that would be the best approach. It seems that there might be no real reason to not have them in both. For the time being, I'm going to leave them. When I am able to chat with Thatch, I may change them at that point. SPEC: http://herlo.fedorapeople.org/rpms/salt.spec SRPM: http://herlo.fedorapeople.org/rpms/salt-0.9.4-6.fc16.src.rpm Thanks, Clint
- scratch build successful: http://koji.fedoraproject.org/koji/taskinfo?taskID=3638319 - source match upstream: c27837bac06dadfdb51b4a2b63fe6d35 salt-0.9.4.tar.gz - Please only import this package to el5, when the dependencies are talked over with upstream. Thanks Rest seems to be fine now. ============================================================== APPROVED
New Package SCM Request ======================= Package Name: salt Short Description: A parallel remote execution and configuration management engine Owners: herlo Branches: el5 el6 f15 f16 InitialCC:
Adding fedora-cvs flag
Git done (by process-git-requests).
salt-0.9.4-7.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/salt-0.9.4-7.fc16
salt-0.9.4-7.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/salt-0.9.4-7.fc15
salt-0.9.4-7.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/salt-0.9.4-7.el6
salt-0.9.4-7.el6 has been pushed to the Fedora EPEL 6 testing repository.
salt-0.9.4-7.fc15 has been pushed to the Fedora 15 stable repository.
salt-0.9.4-7.fc16 has been pushed to the Fedora 16 stable repository.
salt-0.9.4-7.el6 has been pushed to the Fedora EPEL 6 stable repository.
salt-0.9.6-2.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/salt-0.9.6-2.el6
salt-0.9.6-2.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/salt-0.9.6-2.fc15
salt-0.9.6-2.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/salt-0.9.6-2.fc16
salt-0.9.6-2.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report.
salt-0.9.6-2.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
salt-0.9.6-2.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/salt-0.9.6-2.el5
salt-0.9.6-2.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.
salt-0.9.6-2.el5 has been pushed to the Fedora EPEL 5 stable repository.
salt-0.9.7-2.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/salt-0.9.7-2.el5
salt-0.9.7-2.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/salt-0.9.7-2.el6
salt-0.9.7-2.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/salt-0.9.7-2.fc17
salt-0.9.7-2.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/salt-0.9.7-2.fc16
salt-0.9.7-2.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/salt-0.9.7-2.fc15
salt-0.9.8-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/salt-0.9.8-1.el6
salt-0.9.8-1.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/salt-0.9.8-1.el5
salt-0.9.8-1.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/salt-0.9.8-1.fc15
salt-0.9.8-1.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/salt-0.9.8-1.fc16
salt-0.9.8-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/salt-0.9.8-1.fc17
salt-0.9.8-1.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report.
salt-0.9.8-1.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
salt-0.9.8-1.el5 has been pushed to the Fedora EPEL 5 stable repository. If problems still persist, please make note of it in this bug report.
salt-0.9.8-1.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.
salt-0.9.8-1.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.
salt-0.9.9.1-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/salt-0.9.9.1-1.el6
salt-0.9.9.1-1.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/salt-0.9.9.1-1.el5
salt-0.9.9.1-1.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/salt-0.9.9.1-1.fc15
salt-0.9.9.1-1.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/salt-0.9.9.1-1.fc16
salt-0.9.9.1-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/salt-0.9.9.1-1.fc17
Clint, it is not necessary to continue add this bug to the list of bugs fixed in any releases but the initial set.
salt-0.9.9.1-1.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.
salt-0.9.9.1-1.fc15 has been pushed to the Fedora 15 stable repository. If problems still persist, please make note of it in this bug report.
salt-0.9.9.1-1.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.
salt-0.9.9.1-1.el5 has been pushed to the Fedora EPEL 5 stable repository. If problems still persist, please make note of it in this bug report.
salt-0.9.9.1-1.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report.