Bug 1069635 (derrick)

Summary: Review Request: derrick - A Simple Network Stream Recorder
Product: [Fedora] Fedora Reporter: Fabian Affolter <mail>
Component: Package ReviewAssignee: Christopher Meng <i>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: i, package-review
Target Milestone: ---Flags: i: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: derrick-0.3-3.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-09-12 14:30:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 563471    

Description Fabian Affolter 2014-02-25 12:44:23 UTC
Spec URL: http://fab.fedorapeople.org/packages/SRPMS/derrick.spec
SRPM URL: http://fab.fedorapeople.org/packages/SRPMS/derrick-0.3-1.s.fc20.src.rpm

Project URL: https://github.com/rieck/derrick

Description:
Derrick is a simple tool for recording data streams of TCP and UDP traffic.
It shares similarities with other network recorders, such as tcpflow and
wireshark, where it is more advanced than the first and clearly inferior to
the latter.

Derrick has been specifically designed to monitor application-layer
communication. In contrast to other tools the application data is logged in
a line-based ASCII format. Common UNIX tools, such as grep, sed & awk, can
be directly applied. Even replay of recorded communication is straight
forward using netcat.

Derrick supports on-the-fly compression and rotation of log files. The
payloads of TCP sessions are re-assembled using Libnids and can be merged
or truncated. UDP payloads are logged as-is. Details of lower network
layers are omitted.

Koji scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=6569006

rpmlint output:
[fab@laptop011 SRPMS]$ rpmlint derrick-0.3-1.s.fc20.src.rpm 
derrick.src: W: spelling-error %description -l en_US tcpflow -> outflow
derrick.src: W: spelling-error %description -l en_US wireshark -> wire shark, wire-shark, wires hark
derrick.src: W: spelling-error %description -l en_US sed -> tied, ed, seed
derrick.src: W: spelling-error %description -l en_US awk -> awl, aw, wk
derrick.src: W: spelling-error %description -l en_US netcat -> net cat, net-cat, Netscape
1 packages and 0 specfiles checked; 0 errors, 5 warnings.

[fab@laptop011 x86_64]$ rpmlint derrick-0.3-1.s.fc20.x86_64.rpm 
derrick.x86_64: W: spelling-error %description -l en_US tcpflow -> outflow
derrick.x86_64: W: spelling-error %description -l en_US wireshark -> wire shark, wire-shark, wires hark
derrick.x86_64: W: spelling-error %description -l en_US sed -> tied, ed, seed
derrick.x86_64: W: spelling-error %description -l en_US awk -> awl, aw, wk
derrick.x86_64: W: spelling-error %description -l en_US netcat -> net cat, net-cat, Netscape
1 packages and 0 specfiles checked; 0 errors, 5 warnings.

Fedora Account System Username: fab

Comment 1 Christopher Meng 2014-04-02 04:03:37 UTC
1. %configure should insert the cflags properly, you can remove  CFLAGS="%{optflags}".

2. * Tue Aug 13 2013 Fabian Affolter <xxxxxxx> - 0.3-1.s

"0.3-1.s" is invalid.

Comment 2 Fabian Affolter 2014-04-08 06:22:07 UTC
(In reply to Christopher Meng from comment #1)
> 1. %configure should insert the cflags properly, you can remove 
> CFLAGS="%{optflags}".

removed
 
> 2. * Tue Aug 13 2013 Fabian Affolter <xxxxxxx> - 0.3-1.s
> 
> "0.3-1.s" is invalid.

removed the char form versioning

%changelog
* Tue Apr 08 2014 Fabian Affolter <mail> - 0.3-2
- Remove compiler flag and char from versioning

Updated files:
SPEC file: http://fab.fedorapeople.org/packages/SRPMS/derrick.spec
SRPM: http://fab.fedorapeople.org/packages/SRPMS/derrick-0.3-2.fc20.src.rpm

Comment 3 Fabian Affolter 2014-07-19 06:40:16 UTC
Christopher, anything new here?

Comment 4 Christopher Meng 2014-07-19 07:13:26 UTC
Will review on Monday.

Sorry for the delay.

Comment 5 Christopher Meng 2014-07-21 03:40:42 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated




===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "BSD (2 clause)", "Unknown or generated". 11 files have unknown license.
     Detailed output of licensecheck:

BSD (2 clause)
--------------
derrick-s0.3/src/uthash.h

Unknown or generated
--------------------
derrick-s0.3/contrib/ftp_merge.py
derrick-s0.3/git2changes.py
derrick-s0.3/src/common.h
derrick-s0.3/src/derrick.c
derrick-s0.3/src/derrick.h
derrick-s0.3/src/log.c
derrick-s0.3/src/log.h
derrick-s0.3/src/net.c
derrick-s0.3/src/net.h
derrick-s0.3/src/utils.c
derrick-s0.3/src/utils.h

[x]: %build honors applicable compiler flags or justifies otherwise.
[!]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 bytes in 2 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[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]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[!]: Package should not use obsolete m4 macros
     Note: Some obsoleted macros found, see the attachment.
     See: https://fedorahosted.org/FedoraReview/wiki/AutoTools
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: derrick-0.3-2.fc22.i686.rpm
          derrick-0.3-2.fc22.src.rpm
derrick.i686: W: spelling-error %description -l en_US tcpflow -> outflow
derrick.i686: W: spelling-error %description -l en_US wireshark -> wire shark, wire-shark, wires hark
derrick.i686: W: spelling-error %description -l en_US sed -> tied, ed, seed
derrick.i686: W: spelling-error %description -l en_US awk -> awl, aw, wk
derrick.i686: W: spelling-error %description -l en_US netcat -> net cat, net-cat, Netscape
derrick.src: W: spelling-error %description -l en_US tcpflow -> outflow
derrick.src: W: spelling-error %description -l en_US wireshark -> wire shark, wire-shark, wires hark
derrick.src: W: spelling-error %description -l en_US sed -> tied, ed, seed
derrick.src: W: spelling-error %description -l en_US awk -> awl, aw, wk
derrick.src: W: spelling-error %description -l en_US netcat -> net cat, net-cat, Netscape
2 packages and 0 specfiles checked; 0 errors, 10 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint derrick
derrick.i686: W: spelling-error %description -l en_US tcpflow -> outflow
derrick.i686: W: spelling-error %description -l en_US wireshark -> wire shark, wire-shark, wires hark
derrick.i686: W: spelling-error %description -l en_US sed -> tied, ed, seed
derrick.i686: W: spelling-error %description -l en_US awk -> awl, aw, wk
derrick.i686: W: spelling-error %description -l en_US netcat -> net cat, net-cat, Netscape
1 packages and 0 specfiles checked; 0 errors, 5 warnings.
# echo 'rpmlint-done:'



Requires
--------
derrick (rpmlib, GLIBC filtered):
    libc.so.6
    libnet.so.1
    libnids.so.1.24
    libpcap.so.1
    libz.so.1
    rtld(GNU_HASH)



Provides
--------
derrick:
    derrick
    derrick(x86-32)



Source checksums
----------------
https://github.com/rieck/derrick/archive/s0.3.tar.gz :
  CHECKSUM(SHA256) this package     : 0c145d6c685342c218d8d491a8c349222fe53941d2d6db19a7df450a1c67b2f3
  CHECKSUM(SHA256) upstream package : 0c145d6c685342c218d8d491a8c349222fe53941d2d6db19a7df450a1c67b2f3


AutoTools: Obsoleted m4s found
------------------------------
  AC_PROG_LIBTOOL found in: derrick-s0.3/configure.ac:18
  AM_CONFIG_HEADER found in: derrick-s0.3/configure.ac:4


Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14
Command line :/usr/bin/fedora-review -rvn derrick-0.3-2.fc20.src.rpm
Buildroot used: fedora-rawhide-i386
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

----------------------------
configure has check for uthash, please BR uthash-devel and drop the bundled code.

Comment 6 Fabian Affolter 2014-08-13 21:29:13 UTC
(In reply to Christopher Meng from comment #5)
> configure has check for uthash, please BR uthash-devel and drop the bundled
> code.

Nice catch.

%changelog
* Wed Aug 13 2014 Fabian Affolter <mail> - 0.3-3
- Remove embedded uthash

Updated files:
SPEC file: http://fab.fedorapeople.org/packages/SRPMS/derrick.spec
SRPM: http://fab.fedorapeople.org/packages/SRPMS/derrick-0.3-3.fc20.src.rpm

Comment 7 Christopher Meng 2014-08-14 04:37:53 UTC
PACKAGE APPROVED.

Comment 8 Fabian Affolter 2014-08-14 05:56:27 UTC
Thanks for the review.

Comment 9 Fabian Affolter 2014-08-14 05:57:56 UTC
New Package SCM Request
=======================
Package Name: derrick
Short Description: A Simple Network Stream Recorder
Owners: fab
Branches: f20 f21 el6 epel7
InitialCC:

Comment 10 Gwyn Ciesla 2014-08-14 11:51:49 UTC
Git done (by process-git-requests).

Comment 11 Fedora Update System 2014-08-14 17:09:59 UTC
derrick-0.3-3.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/derrick-0.3-3.fc20

Comment 12 Michael Schwendt 2014-08-15 09:00:24 UTC
> configure has check for uthash, please BR uthash-devel and drop the bundled
> code.

Even better would be "BR uthash-static".

Comment 13 Fedora Update System 2014-08-16 00:34:00 UTC
derrick-0.3-3.fc20 has been pushed to the Fedora 20 testing repository.

Comment 14 Fedora Update System 2014-09-12 14:30:29 UTC
derrick-0.3-3.fc20 has been pushed to the Fedora 20 stable repository.