Bug 408941 - Review Request: Unicornscan - Scalable, Accurate, Flexible, and Efficient Network Probing
Review Request: Unicornscan - Scalable, Accurate, Flexible, and Efficient Net...
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
All Linux
low Severity medium
: ---
: ---
Assigned To: manuel wolfshant
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2007-12-03 12:44 EST by Robert E. Lee
Modified: 2008-09-04 12:58 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-09-03 05:45:04 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:

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

  None (edit)
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.

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