Bug 408941

Summary: Review Request: Unicornscan - Scalable, Accurate, Flexible, and Efficient Network Probing
Product: [Fedora] Fedora Reporter: Robert E. Lee <robert>
Component: Package ReviewAssignee: manuel wolfshant <wolfy>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: rawhideCC: fedora-package-review, notting, wolfy
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-09-03 05:45:04 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 201449    
Description Flags
failed build log
modified spec none

Description Robert E. Lee 2007-12-03 12:44:23 EST
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 13:17:42 EST
Just a quick glimpse over the spec
- Buildroot does not respect the guidelines
- 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
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 17:53:41 EST
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:
 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 17:57:56 EST
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 09:11:01 EST
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.

Comment 6 manuel wolfshant 2007-12-20 12:57:43 EST
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 12:18:49 EST
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

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
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
unicornscan.src:31: E: hardcoded-library-path in
unicornscan.src:32: E: hardcoded-library-path in
unicornscan.src:33: E: hardcoded-library-path in
unicornscan.src:34: E: hardcoded-library-path in
unicornscan.src:35: E: hardcoded-library-path in
unicornscan.src:36: E: hardcoded-library-path in
unicornscan.src:37: E: hardcoded-library-path in
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

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 12:19:34 EST
Created attachment 290246 [details]
failed build log
Comment 9 manuel wolfshant 2007-12-21 12:22:29 EST
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 12:30:12 EST
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 07:29:41 EST
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 07:45:51 EST
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-26 21:26:21 EDT
ping ?
Comment 14 manuel wolfshant 2008-08-10 14:45:08 EDT
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 05:45:04 EDT
closing due to lack of response from the submitter during the last 8 months.