Bug 445687 - Review Request: portreserve - TCP port reservation utility
Summary: Review Request: portreserve - TCP port reservation utility
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jason Tibbitts
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-05-08 14:47 UTC by Tim Waugh
Modified: 2008-07-01 14:46 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2008-07-01 14:46:41 UTC
Type: ---
Embargoed:
j: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Tim Waugh 2008-05-08 14:47:25 UTC
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).

Comment 1 Jochen Schmitt 2008-05-08 17:34:14 UTC
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]:

- 

Comment 2 Jochen Schmitt 2008-05-08 17:44:27 UTC
The 'make check' command should be place in the %check stanza

Comment 3 Tim Waugh 2008-05-09 07:41:26 UTC
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 08:33:47 UTC
(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 22:36:02 UTC
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

Comment 6 Tim Waugh 2008-06-30 14:11:03 UTC
New Package CVS Request
=======================
Package Name: portreserve
Short Description: TCP port reservation utility
Owners: twaugh
Branches: F-9
InitialCC:
Cvsextras Commits: yes


Comment 7 Kevin Fenzi 2008-06-30 16:08:14 UTC
cvs done.


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