Spec URL: https://hosted.fedoraproject.org/projects/func/attachment/wiki/FuncReleases/func.spec?format=raw SRPM URL: https://hosted.fedoraproject.org/projects/func/attachment/wiki/FuncReleases/func-0.13-2.fc7.src.rpm Description: (copied from Wiki) Func allows for running commands on remote systems in a secure way, like SSH, but offers several improvements. * Func allows you to manage an arbitrary group of machines all at once. * Func automatically distributes certificates to all "slave" machines. There's almost nothing to configure. * Func comes with a command line for sending remote commands and gathering data. * There are lots of modules already provided for common tasks. * Anyone can write their own modules using the simple Python module API. * Everything that can be done with the command line can be done with the Python client API. The hack potential is unlimited. * You'll never have to use "expect" or other ugly hacks to automate your workflow. * It's really simple under the covers. Func works over XMLRPC and SSL. * Any program can use func certificates, latch on to them, and take advantage of secure master-to-slave communication. * There are no databases or crazy stuff to install and configure. Again, certificate distribution is automatic too. See website: https://hosted.fedoraproject.org/projects/func/
Problems: X Need some BuildRequires to support python setup tools. %if 0%{?fedora} >= 8 BuildRequires: python-setuptools-devel %else BuildRequires: python-setuptools %endif X Licence should follow the standard Based on the source GPL header it should be. GPLv2+
#rpmlint rpmbuild/RPMS/noarch/func-0.13-2.noarch.rpm func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/codes.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/overlord/sslclient.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/overlord/cmd_modules/show.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/minion/module_loader.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/minion/modules/test.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/overlord/inventory.py 0644 func.noarch: E: incoherent-logrotate-file /etc/logrotate.d/func_rotate func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/overlord/cmd_modules/call.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/overlord/test_func.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/overlord/client.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/certs.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/overlord/cmd_modules/copyfile.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/minion/modules/process.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/logger.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/commonconfig.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/certmaster.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/utils.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/minion/modules/virt.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/SSLConnection.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/minion/codes.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/overlord/func_command.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/config.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/minion/modules/service.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/minion/modules/hardware.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/minion/modules/func_module.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/minion/modules/smart.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/minion/server.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/overlord/cmd_modules/listminions.py 0644 func.noarch: E: non-executable-script /usr/lib/python2.4/site-packages/func/minion/utils.py 0644 func.noarch: W: incoherent-version-in-changelog 0.0.13-2 0.13-2 func.noarch: W: service-default-enabled /etc/init.d/funcd func.noarch: W: service-default-enabled /etc/init.d/funcd func.noarch: W: service-default-enabled /etc/init.d/certmaster func.noarch: W: service-default-enabled /etc/init.d/certmaster
MUST: * package is named appropriately * it is legal for Fedora to distribute this X license field matches the actual license. see earlier comment * license is open source-compatible. * specfile name matches %{name} ? verify source and patches (md5sum matches upstream, know what the patches do) No upstream tarball to match, SRPM is upstream source. * summary and description fine * correct buildroot * %{?dist} is used X license text included in package and marked with %doc * package meets FHS (http://www.pathname.com/fhs/) * changelog format fine * Packager tag not used * Vendor tag not used * Distribution tag not used * License used and not Copyright * Summary tag does not end in a period * specfile is legible * package successfully compiles and builds on at least x86 X BuildRequires are proper See earlier comment. * make sure lines are <= 80 characters * specfile written in American English * no -doc sub-package necessary * no libraries * no rpath * not a GUI app * no -devel sub-package necessary * macros used appropriately and consistently * no %makeinstall * install section must begin with rm -rf $RPM_BUILD_ROOT or %{buildroot} * no locale data * split Requires(pre,post) into two separate lines * package not relocatable * package contains code * package owns all directories and files * no %files duplicates X file permissions fine See earlier comments. X %defattrs present ( %defattr(-, root, root, -)) * %clean present * %doc files do not affect runtime
Responding to your first comments: X Need some BuildRequires to support python setup tools. * this is resolved upstream and will give new URLs shortly X Licence should follow the standard ... * this is also fixed
Responding to rpmlint "non-executable-script" * This is ok because these are modules, not scripts, so fine there. func.noarch: W: incoherent-version-in-changelog 0.0.13-2 0.13-2 * Not sure what rpmlint is confused about, exactly. Seems ok. func.noarch: W: service-default-enabled /etc/init.d/funcd func.noarch: W: service-default-enabled /etc/init.d/funcd func.noarch: W: service-default-enabled /etc/init.d/certmaster func.noarch: W: service-default-enabled /etc/init.d/certmaster * these have been now disabled in the service init scripts
Responding to the 3rd part: MUST: X license field matches the actual license. * This has been corrected, updated URLs coming shortly ? verify source and patches (md5sum matches upstream, know what the patches do) No upstream tarball to match, SRPM is upstream source. * Snapshot tarball can be uploaded, one of the developers is the upstream packager, see also: git X license text included in package and marked with %doc * Has been added X BuildRequires are proper * Fixed. X file permissions fine See earlier comments. * I'm in disagreement with the need for module (non-script) code to be chmod+x, if you can point me at packaging guidelines that indicate this is a requirement I'll address it. X %defattrs present ( %defattr(-, root, root, -)) * Adding...
Tim, I've uploaded a new SRC rpm, tarball, and specfile for you to look at. The changes I have not incorporated are: * permissions on non-script python files (which I believe is just rpmlint being confused about what should be executable) here's the spec: https://hosted.fedoraproject.org/projects/func/attachment/wiki/FuncReleases/func.spec?format=raw source rpm: https://hosted.fedoraproject.org/projects/func/attachment/wiki/FuncReleases/func-0.13-3.fc7.src.rpm here's a tarball built at the same time as the RPM: https://hosted.fedoraproject.org/projects/func/attachment/wiki/FuncReleases/func-0.13.tar.3.gz Thanks very much for doing the review! --Michael
* license field matches the actual license. * license text included in package and marked with %doc * BuildRequires are proper * file permissions fine python site-lib modules is not scripts, so no need to be +x * %defattrs present ( %defattr(-, root, root, -)) * verify the final provides and requires of the binary RPMs $ rpm -q -R -p rpmbuild/RPMS/noarch/func-0.13-3.fc8.noarch.rpm /bin/sh /bin/sh /bin/sh /usr/bin/python config(func) = 0.13-3.fc8 pyOpenSSL python >= 2.3 python(abi) = 2.5 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 $ rpm -q --provides -p rpmbuild/RPMS/noarch/func-0.13-3.fc8.noarch.rpm config(func) = 0.13-3.fc8 func = 0.13-3.fc8 ? run rpmlint on the binary RPMs func.noarch: W: incoherent-version-in-changelog 0.0.13-3 0.13-3.fc8 this is because %%SOURCE1 contains 0.13.3 & changelog entries contains 0.0.13-3 as version func.noarch: E: non-executable-script /usr/lib/python2.5/site-packages/func/*.py python site-lib modules is not scripts, so no need to be +x could be made silenced by chmod +x *.py for all *.py files in git. SHOULD: * package should include license text in the package and mark it with %doc * package should build on i386 ? package should build in mock - I haven't tried, but I don't think it'll be a problem The Changelog entries should be fixed to have the right versions, feel free to change the permissions on the *.py files if you like. but nothing blocking. APPROVED.
New Package CVS Request ======================= Package Name: func Short Description: Fedora Unified Network Controller Owners: mdehaan skvidal alikins Branches: F-7 F-8 EL-4 EL-5 InitialCC: Cvsextras Commits: no
Looks like this package was successfully built. Closing this ticket.