Bug 445687 - Review Request: portreserve - TCP port reservation utility
Review Request: portreserve - TCP port reservation utility
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2008-05-08 10:47 EDT by Tim Waugh
Modified: 2008-07-01 10:46 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-07-01 10:46:41 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
tibbs: fedora‑review+
kevin: fedora‑cvs+

Attachments (Terms of Use)

  None (edit)
Description Tim Waugh 2008-05-08 10:47:25 EDT
Spec URL: http://twaugh.fedorapeople.org/portreserve/portreserve.spec
SRPM URL: http://twaugh.fedorapeople.org/portreserve/portreserve-0.0.1-1.fc8.src.rpm
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).
Comment 1 Jochen Schmitt 2008-05-08 13:34:14 EDT
+ Local build works fine
+ License look good
+ %doc section contains LICENSE file
+ Buildroot was cleaned on beginning of %install and %clean stanza

- 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

Comment 2 Jochen Schmitt 2008-05-08 13:44:27 EDT
The 'make check' command should be place in the %check stanza
Comment 3 Tim Waugh 2008-05-09 03:41:26 EDT
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
Comment 4 Tim Waugh 2008-06-19 04:33:47 EDT
(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.
Comment 5 Jason Tibbitts 2008-06-27 18:36:02 EDT
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:
* 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

* %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.

Comment 6 Tim Waugh 2008-06-30 10:11:03 EDT
New Package CVS Request
Package Name: portreserve
Short Description: TCP port reservation utility
Owners: twaugh
Branches: F-9
Cvsextras Commits: yes
Comment 7 Kevin Fenzi 2008-06-30 12:08:14 EDT
cvs done.

Note You need to log in before you can comment on or make changes to this bug.