Spec URL: ftp://ftp.rexursive.com/pub/tcpreplay/tcpreplay.spec SRPM URL: ftp://ftp.rexursive.com/pub/tcpreplay/tcpreplay-2.3.5-1.src.rpm Description: Tcpreplay is a tool to replay captured network traffic. Currently, tcpreplay supports pcap (tcpdump) and snoop capture formats. Also included, is tcpprep a tool to pre-process capture files to allow increased performance under certain conditions as well as capinfo which provides basic information about capture files.
modified BR line for epel4: BuildRequires: libnet-devel >= 1.1, libpcap,tcpdump Sucessfully built in mock, seems to run OK. Played a 30 secs capture file without problems, no further checks done
See if this fares any better: ftp://ftp.rexursive.com/pub/tcpreplay/tcpreplay.spec ftp://ftp.rexursive.com/pub/tcpreplay/tcpreplay-2.3.5-2.src.rpm
Package Review ============== Key: - = N/A x = Check ! = Problem ? = Not evaluated === REQUIRED ITEMS === [x] Buildroot is correct (%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)) [x] Rpmlint output: [x] Package is named according to the Package Naming Guidelines. [x] Spec file name must matches the base package %{name}, in the format %{name}.spec. [x] Package meets the Packaging Guidelines. [x] Package is licensed with an open-source compatible license and meet other legal requirements as defined in the legal section of Packaging Guidelines. [x] License field in the package spec file matches the actual license. License type: BSD [x] If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %doc. [x] Spec file is written in American English. [x] Spec file for the package is legible. [x] Sources used to build the package matches the upstream source, as provided in the spec URL. MD5SUM this package : fff1c5a382bc869caabfb20f4b3b3dad MD5SUM upstream package: fff1c5a382bc869caabfb20f4b3b3dad [x] Package successfully compiles and builds into binary rpms on at least one supported architecture. Tested on: FC6/i386 [x] Package is not known to require ExcludeArch, OR: Arches excluded: Why: [x] All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [-] The spec file handles locales properly. [-] ldconfig called in %post and %postun if required. [x] Package is not relocatable. [x] Package must own all directories that it creates. [-] Package requires other packages for directories it uses. [x] Package does not contain duplicates in %files. [x] Permissions on files are set properly. [x] Package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). [x] Package consistently uses macros. [x] Package contains code, or permissable content. [x] Large documentation files are in a -doc subpackage, if required. [x] Package uses nothing in %doc for runtime. [-] Header files in -devel subpackage, if present. [-] Static libraries in -devel subpackage, if present. [-] Package requires pkgconfig, if .pc files are present. [-] Development .so files in -devel subpackage, if present. [-] Fully versioned dependency in subpackages, if present. [x] Package does not contain any libtool archives (.la). [-] Package contains a properly installed %{name}.desktop file if it is a GUI application. [x] Package does not own files or directories owned by other packages. === SUGGESTED ITEMS === [x] Package does not include license text files separate from upstream. [-] Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x] Reviewer should test that the package builds in mock. Tested on: FC6/i386 [-] Package should compile and build into binary rpms on all supported architectures. Tested on: [?] Package functions as described. [-] Scriptlets must be sane, if used. [-] The placement of pkgconfig(.pc) files are correct. [x] File based requires are sane. [-] Latest version is packaged. === Issues === 1. Please consider to change the install lines in your patch to use install -p to preserve timestamps. Or you could 2. Please change "%doc Docs" to "%doc Docs/*" so that there is not an extraneous single Docs directory in the %doc directory. 3. Not sure why you did a file base requires on /sbin/tcpdump rather than a package name. 4. CFLAGS are not being used in the compile. This is a blocker. 5. Do not include Docs/INSTALL, Docs/WARNINGS. You might also consider only including one format for the same information as far as Docs/*. === Final Notes === 1.
Thank you very much for picking this up. I will work on the open issues and report back.
> 3. Not sure why you did a file base requires on /sbin/tcpdump rather than a package name. This software actually places the absolute path to tcpdump binary into one its binaries. So, I was thinking it's better to put an absolute pathname in there, just in case the maintainers of tcpdump decide to move the binary to another location. Maybe a bit too paranoid... I'll address the other questions and issues a bit later on. Just bit too busy with work stuff right now. :-(
(In reply to comment #5) > This software actually places the absolute path to tcpdump binary into one its > binaries. So, I was thinking it's better to put an absolute pathname in there, > just in case the maintainers of tcpdump decide to move the binary to another > location. Maybe a bit too paranoid... It's unlikely that it would happen, but I guess that's a safety measure. I'm fine with that.
Revised spec and source RPM now available: ftp://ftp.rexursive.com/pub/tcpreplay/tcpreplay.spec ftp://ftp.rexursive.com/pub/tcpreplay/tcpreplay-2.3.5-3.src.rpm The issues addressed: > 1. Please consider to change the install lines in your patch to use install -p to preserve timestamps. Done. > 2. Please change "%doc Docs" to "%doc Docs/*" so that there is not an extraneous single Docs directory in the %doc directory. Done. > 4. CFLAGS are not being used in the compile. This is a blocker. Done. Now setting CFLAGS to RPM_OPT_FLAGS in Makefile explicitly. > 5. Do not include Docs/INSTALL, Docs/WARNINGS. You might also consider only including one format for the same information as far as Docs/*. Done. I only included text and HTML versions (the latter is included because there is an image HTML docs include, which text files cannot point to).
================ *** APPROVED *** ================ pending removal of /usr/share/doc/tcpreplay-2.3.5/Makefile (unless there is a reason to keep it)
> pending removal of /usr/share/doc/tcpreplay-2.3.5/Makefile OOPS! Apologies, completely missed that. Corrected files are here, just for reference: ftp://ftp.rexursive.com/pub/tcpreplay/tcpreplay.spec ftp://ftp.rexursive.com/pub/tcpreplay/tcpreplay-2.3.5-4.src.rpm Thanks for reviewing!
OOPS? Flag with no comment...
New Package CVS Request ======================= Package Name: tcpreplay Short Description: Replay captured network traffic Owners: bojan Branches: FC-6 InitialCC:
Thanks everyone involved for their help.
Package Change Request ====================== Package Name: tcpreplay New Branches: EL-4 EL-5 Owners: bojan
cvs done.
Package Change Request ====================== Package Name: tcpreplay New Branches: EL-7 Owners: bojan
Git done (by process-git-requests).