Spec URL: http://twaugh.fedorapeople.org/portreserve/portreserve.spec SRPM URL: http://twaugh.fedorapeople.org/portreserve/portreserve-0.0.1-1.fc8.src.rpm Description: The portreserve program aims to help services with well-known ports that lie in the portmap range. It prevents portmap from a real service's port by occupying it itself, until the real service tells it to release the port (generally in the init script).
Good: + Local build works fine + License look good + %doc section contains LICENSE file + Buildroot was cleaned on beginning of %install and %clean stanza Bad: - Rpmlint complaints on source RPM: rpmlint portreserve-0.0.1-1.fc8.src.rpm portreserve.src:23: W: make-check-outside-check-section make check portreserve.src: W: strange-permission portreserve.spec 0600 - Rpmlint complaints on binary RPM: $ rpmlint portreserve-0.0.1-1.fc8.x86_64.rpm portreserve.x86_64: W: service-default-enabled /etc/init.d/portreserve portreserve.x86_64: W: service-default-enabled /etc/init.d/portreserve portreserve.x86_64: E: subsys-not-used /etc/init.d/portreserve - Please don't use %makeinstall - Inconsistence use of macros /var/run vs. %{_localstatedir}/run - Please use %{_initrddir} for /etc/init.d - Build on mock (x86_64) failed: make all-am make[1]: Entering directory `/builddir/build/BUILD/portreserve-0.0.1' depbase=`echo src/portreserve.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -DHAVE_CONFIG_H -I. -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -MT src/portreserve.o -MD -MP -MF $depbase.Tpo -c -o src/portreserve.o src/portreserve.c &&\ mv -f $depbase.Tpo $depbase.Po gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -o src/portreserve src/portreserve.o xmlto man -o doc doc/portreserve.xml make[1]: execvp: xmlto: Permission denied make[1]: -
The 'make check' command should be place in the %check stanza
Actually there are no checks, so I've removed 'make check' altogether. I think the build failure might be to do with a missing dependency on xmlto, although it does look odd. It builds fine on x86_64 here. The service is enabled by default due to its nature. On start-up it checks whether any services (e.g. cups) have registered with it, and if not it immediately exits. If they have, it simply reserves that port until the service is ready to start. Once all registered services have taken their ports it exits. In the initscript, subsys is not used -- portreserve uses a pidfile instead. I've made changes following your suggestions. Spec URL: http://twaugh.fedorapeople.org/portreserve/portreserve.spec SRPM URL: http://twaugh.fedorapeople.org/portreserve/portreserve-0.0.1-2.fc8.src.rpm
(In reply to comment #1) > - Build on mock (x86_64) failed: I just tried a mock build of portreserve-0.0.1-2.fc8 for fedora-9-x86_64 and it built fine.
Yes, it builds fine for me on rawhide. I see the above three rpmlint complaints and don't think they're significant. Everything looks good to me. * source files match upstream: 16ca78b8aadb34d42a14fd2d6614e75cc7c130b81a4abfba08afd81a36913804 portreserve-0.0.1.tar.bz2 * package meets naming and versioning guidelines. * specfile is properly named, is cleanly written and uses macros consistently. * summary is OK. * description is OK. * dist tag is present. * build root is OK. * license field matches the actual license. * license is open source-compatible. * license text included in package. * latest version is being packaged. * BuildRequires are proper (none). * compiler flags are appropriate. * %clean is present. * package builds in mock (rawhide, x86_64). * package installs properly. * debuginfo package looks complete. * rpmlint has acceptable complaints. * final provides and requires are sane: portreserve = 0.0.1-2.fc10 = /bin/sh * %check is not present; no test suite upstream. * no shared libraries are added to the regular linker search paths. * owns the directories it creates. * doesn't own any directories it shouldn't. * no duplicates in %files. * file permissions are appropriate. * scriptlets OK (service setup). * code, not content. * documentation is small, so no -doc subpackage is necessary. * %docs are not necessary for the proper functioning of the package. * no headers. * no pkgconfig files. * no static libraries. * no libtool .la files. APPROVED
New Package CVS Request ======================= Package Name: portreserve Short Description: TCP port reservation utility Owners: twaugh Branches: F-9 InitialCC: Cvsextras Commits: yes
cvs done.