Bug 408941 - Review Request: Unicornscan - Scalable, Accurate, Flexible, and Efficient Network Probing
Summary: Review Request: Unicornscan - Scalable, Accurate, Flexible, and Efficient Net...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: manuel wolfshant
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: FE-DEADREVIEW
TreeView+ depends on / blocked
 
Reported: 2007-12-03 17:44 UTC by Robert E. Lee
Modified: 2008-09-04 16:58 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-09-03 09:45:04 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
failed build log (16.80 KB, text/plain)
2007-12-21 17:19 UTC, manuel wolfshant
no flags Details
modified spec (2.80 KB, text/x-rpm-spec)
2007-12-21 17:22 UTC, manuel wolfshant
no flags Details

Description Robert E. Lee 2007-12-03 17:44:23 UTC
Spec URL: http://www.unicornscan.org/releases/unicornscan-0.4.7.spec
SRPM URL: http://www.unicornscan.org/releases/unicornscan-0.4.7-1.src.rpm
Description: Unicornscan provides an interface for introducing a stimulus to and measuring a response from a TCP/IP enabled device or network.

Comment 1 manuel wolfshant 2007-12-03 18:17:42 UTC
Just a quick glimpse over the spec
- Buildroot does not respect the guidelines
(http://fedoraproject.org/wiki/Packaging/Guidelines#head-b4fdd45fa76cbf54c885ef0836361319ab962473)
- You have duplicate Requires and Build-Requires ( for instance postgresql-devel
 requires postgresql); please also verify if all those packages listed under
Rwquires are indeed neededm usually rpm does a pretty good job with automatic deps
- You have included lots of files which probably should not be included (.a,
.la). Please see
http://fedoraproject.org/wiki/Packaging/Guidelines#head-2302ec1e1f44202c9cc4bcce24cb711266557ad7
and if the files that you have included, examine one of
-- add a comment explaining why are they needed
-- create separate packages for static and/or libtool archives


Comment 3 manuel wolfshant 2007-12-03 22:53:41 UTC
There are a couple more changes needed
- if possible, please name the spec unicornscan.spec (leaving out the version)
- please use "make %{?_smp_mflags}" instead of "make" (unless there is a problem
with parallel compile, in which case this should be mentioned in a comment)
- the configure script cause build to fail in mock fails with:
checking for non-priv user for listener... Using user nobody
checking for PostgreSQL... configure: error: cant find PostgreSQL pq library
./configure: line 24853: exit: rerun: numeric argument required
./configure: line 24853: exit: rerun: numeric argument required
error: Bad exit status from /var/tmp/rpm-tmp.23415 (%build)

This happens despite the presence of postgresql-devel in the buildroot:
Installing:
 bison                   x86_64     2.3-4.fc8        fedora            541 k
 ccache                  x86_64     2.4-11.fc8       fedora             53 k
 flex                    x86_64     2.5.33-11.fc8    fedora            305 k
 libpcap                 x86_64     14:0.9.8-1.fc9   fedora            103 k
 postgresql-devel        x86_64     8.2.5-1.fc8      fedora            1.3 M



Comment 4 manuel wolfshant 2007-12-03 22:57:56 UTC
As a separate comment: are you sure that the versions you have mentioned as BR
are really needed ? If older versions are good enough. the presence of this tool
in EPEL would be awesome

Comment 5 Robert E. Lee 2007-12-20 14:11:01 UTC
We would LOVE to have unicornscan included in EPEL.  Just let us know what the
minimum versions should be and we'll make sure it works with those.

We uncovered a weird build bug (we think it has to do with the version of make
on fedora) that was stopping the pgsqldb output module from building on fc8
i386.  I've uploaded the new src code, src rpms, installation rpms, and spec file.

Please let me know if this improved anything on your build machine.

http://www.unicornscan.org/releases/unicornscan-0.4.7-2.fc8.i386.rpm
http://www.unicornscan.org/releases/unicornscan-0.4.7-2.fc8.src.rpm
http://www.unicornscan.org/releases/unicornscan-0.4.7.spec

Comment 6 manuel wolfshant 2007-12-20 17:57:43 UTC
I am very much in favor of including this tool in Fedora/EPEL so I am taking
this for review. However I am a bit busy at the moment so if anyone feels like
doing the review, by all means please go ahead and do it. Otherwise look for
news in a day or two.



Comment 7 manuel wolfshant 2007-12-21 17:18:49 UTC
A couple of things that I have noticed:

1. could you please rename the spec to "unicornscan.spec" ? the naming scheme
you are using contradicts
http://fedoraproject.org/wiki/Packaging/NamingGuidelines#head-625ebbc8678382beca8d0b02504d30e7b6f23791

2. are the %{_libdir}/unicornscan/modules/*.la files needed for runtime usage ?
I could not test because of issue number 3 below, but if they are needed, please
make a note about that in the spec.

3. the package still does not build in mock, because of PostgreSQL. I have
attached the build log.

4. please use %configure, not ./configure and use macros, not absolute paths. I
have attached a modified spec which fixes this.

5. Please do NOT link against a private copy of a library (ltdl in this case),
you should use the ones provided by the system. See also
http://fedoraproject.org/wiki/Packaging/Guidelines#head-17396a3b06ec849a7c0c6fc3243673b17e5fed90
In order to avoid using your own copy of ltdl, you have to BR libtool-ltld-devel
(see my spec)

6. The configure script seems happier after adding libcap-devel and
libdnet-devel. Any particular reason to avoid using them ?

7.rpmlint complains about the source rpm:
unicornscan.src: E: invalid-spec-name unicornscan-0.4.7.spec
unicornscan.src:25: E: configure-without-libdir-spec
unicornscan.src:30: E: hardcoded-library-path in
$RPM_BUILD_ROOT/usr/lib/unicornscan/modules/http.a
unicornscan.src:31: E: hardcoded-library-path in
$RPM_BUILD_ROOT/usr/lib/unicornscan/modules/httpexp.a
unicornscan.src:32: E: hardcoded-library-path in
$RPM_BUILD_ROOT/usr/lib/unicornscan/modules/ntalk.a
unicornscan.src:33: E: hardcoded-library-path in
$RPM_BUILD_ROOT/usr/lib/unicornscan/modules/osdetect.a
unicornscan.src:34: E: hardcoded-library-path in
$RPM_BUILD_ROOT/usr/lib/unicornscan/modules/pgsqldb.a
unicornscan.src:35: E: hardcoded-library-path in
$RPM_BUILD_ROOT/usr/lib/unicornscan/modules/rdns.a
unicornscan.src:36: E: hardcoded-library-path in
$RPM_BUILD_ROOT/usr/lib/unicornscan/modules/sip.a
unicornscan.src:37: E: hardcoded-library-path in
$RPM_BUILD_ROOT/usr/lib/unicornscan/modules/upnp.a
unicornscan.src: W: summary-ended-with-dot Scalable, Accurate, Flexible, and
Efficient Network Probing.
The hardcoded-library stuff are non issues because you delete the files before
inclusion, but the rest could (and should) be easily fixed.

8. I did not verify ALL the files, but at least the dozen of .c and .h I have
examined specify
 * This program is free software; you can redistribute it and/or      *
 * modify it under the terms of the GNU General Public License        *
 * as published by the Free Software Foundation; either               *
 * version 2 of the License, or (at your option) any later            *
 * version. 
Therefore please
- make sure all the files specify the license they are released under (for
instance the src/output_modules/database/attic/mysqldb.c does not have a license
specified but mentions GPLv2... unlike the other sources I have examined)
- update the license tag of the rpm to GPLv2+ instead of GPLv2.

9.Since you have decided to include a LICENSE file in the tarball, you
absolutely MUST include it. See also
http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#head-90d644ce2c5db60bad3ba8773fe11653c7629dc3

10. I fail to see the usefulness of including the INSTALL file. On the other
hand, please make sure that none of the other INSTALL.xxx files is useful. I for
one would like to see a unicorn-frontend.rpm including the www-front-end
directory (and maybe the related INSTALL file). That is, assuming the php stuff
over there really works. I have never tested that.

11. And last but not least, please add a corresponding changelog entry for each
modification of the spec file.



Comment 8 manuel wolfshant 2007-12-21 17:19:34 UTC
Created attachment 290246 [details]
failed build log

Comment 9 manuel wolfshant 2007-12-21 17:22:29 UTC
Created attachment 290247 [details]
modified spec

the modifications include
- GPLv2+ instead of GPLv2 as license tag
- additional BR for libtool-ldtl, libpcap-devel,libdnet-devel
- replacing ./configure with %configure
- removed references to absolute paths
- added INSTALL="install -p" in order to preserve timestamps
- replaced %defattr(-,root,root) with %defattr(-,root,root,-)
- includes the text of the GPL licensed
- does not included the INSTALL file

Comment 10 manuel wolfshant 2007-12-21 17:30:12 UTC
oh well... the last two lines in #9 should have been:

- includes the text of the GPL license, as bundled in the tarball
- does not include the INSTALL file because it it not relevant to fedora users
because they install from rpm; anyone recompiling the program will find the file
in the pristine tarball.

Comment 11 Robert E. Lee 2008-01-03 12:29:41 UTC
We are currently searching for an x86_64 fedora box to do development on.  If
you know of such a machine that we may use to solve the compilation issue, it
would be much appreciated.

We are tracking down all of the other items you've listed.  We are now using
your modified spec file.

Comment 12 manuel wolfshant 2008-01-03 12:45:51 UTC
you can use koji scratch build for that. 
or, if this helps, send me the src.rpm and I can run it in mock and then send
you the logs

Comment 13 manuel wolfshant 2008-07-27 01:26:21 UTC
ping ?

Comment 14 manuel wolfshant 2008-08-10 18:45:08 UTC
ping again? 

Since the submitter din not reply for 7 months, this is the last appeal before marking the ticket as deadreview.

Comment 15 manuel wolfshant 2008-09-03 09:45:04 UTC
closing due to lack of response from the submitter during the last 8 months.


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