Spec URL: http://labs.linuxnetz.de/bugzilla/tcpick.spec SRPM URL: http://labs.linuxnetz.de/bugzilla/tcpick-0.2.1-8.src.rpm Description: tcpick is a textmode sniffer that can track tcp streams and saves the data captured in files or displays them in the terminal. Useful for picking files in a passive way. It can store all connections in different files, or it can display all the stream on the terminal. It is useful to keep track of what users of a network are doing, and is usable with textmode tools like grep, sed and awk. It can handle eth and ppp interfaces.
rpmbuild -v -ba tcpick.spec (on FC4) error: Failed build dependencies: libpcap-devel is needed by tcpick-0.2.1-8.i386 found libpcap-devel-0.9.3-2.i686.rpm on rpm.pbone.net which trigger a huge chain of dependency, obviously this is not the way to go. Where can I find libpcap-devel within extra devel tree? (Bug 193189 say "fixed in CVS")
libpcap-devel is currently only in Rawhide (and yes it's fixed in Core CVS): core/development/i386/os/Fedora/RPMS/libpcap-devel-0.9.4-7.i386.rpm
An alternative would be just to require /usr/include/pcap.h which is independent of the libpcap-devel split in Rawhide - but I see, what the problem is...
versions of FC prior to developmnet/FC6 you have to BuildRequires: libpcap beacuse in all versions prior. the libpcap package had the development files included. to see a sample of how to handle this look at the snort spec file
Applied, thanks for pointing me to this example.
Fedora packaging guidelines suggest against using %makeinstall unless absolutely necessary. Using 'make DESTDIR=$RPM_BUILD_ROOT install' is preferred (and as far as I can see, works just fine for this package). I'll do some more formal review tonight...
You're right of course, but it works for about 2 years now, but I also could use 4 install lines for the four files instead of moving the files after the '%makeinstall' or 'make DESTDIR=$RPM_BUILD_ROOT install' when this makes you happy... ;-)
Just parroting from http://fedoraproject.org/wiki/Packaging/Guidelines on the %makeinstall bit. :) Also, how about using '%configure --bindir=%{_sbindir}' instead of using an extra line to move the file? Not a requirement, but results in at least one less line in the spec. Now for the rest of the review: * package meets naming and packaging guidelines -- okay * specfile is properly named, is cleanly written and uses macros consistently -- okay * dist tag is present -- okay * build root is correct -- okay %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) * license field matches the actual license -- GPL, okay * license is open source-compatible and license text included in package -- okay * source files match upstream -- okay bb94f2f9ea81aeb645619fbe9b3b9a29 tcpick-0.2.1.tar.gz * latest version is being packaged -- 0.2.1, okay * BuildRequires are proper -- okay * package builds in mock -- okay (fedora development x86_64) * rpmlint is silent -- okay * final provides and requires are sane -- okay tcpick-0.2.1-8.fc6.x86_64.rpm tcpick = 0.2.1-8.fc6 = libpcap.so.0.9.4()(64bit) * no shared libraries are present -- okay * package is not relocatable -- okay * owns the directories it creates -- okay * doesn't own any directories it shouldn't -- okay * no duplicates in %files -- okay * file permissions are appropriate -- okay * %clean is present -- okay * %check is present and all tests pass -- n/a (include the summary from the test suite, if any) * no scriptlets present -- okay * code, not content -- okay * documentation is small, so no -docs subpackage is necessary -- okay * %docs are not necessary for the proper functioning of the package -- okay * no headers -- okay * no pkgconfig files -- okay * no libtool .la droppings -- okay * not a GUI app -- okay * not a web app -- okay Only thing I see that needs to be altered to comply with the packaging guidelines is the use of % makeinstall.
Okay these two minor matters have been applied...
Excellent, package APPROVED.
11312 (tcpick): Build on target fedora-development-extras succeeded. 11313 (tcpick): Build on target fedora-5-extras succeeded. 11314 (tcpick): Build on target fedora-4-extras succeeded.