This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 1026432 - Review Request: ghc-pcap - Haskell bindings for libpcap
Review Request: ghc-pcap - Haskell bindings for libpcap
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: Jens Petersen
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-11-04 11:00 EST by Philip Withnall
Modified: 2014-01-21 00:52 EST (History)
2 users (show)

See Also:
Fixed In Version: ghc-pcap-0.4.5.2-1.fc19
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-01-21 00:50:22 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
petersen: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Philip Withnall 2013-11-04 11:00:40 EST
Spec URL: http://people.collabora.co.uk/~pwith/packaging/ghc-pcap.spec
SRPM URL: http://people.collabora.co.uk/~pwith/packaging/ghc-pcap-0.4.5.2-1.fc19.src.rpm
Description: A system-independent interface for user-level packet capture.
Fedora Account System Username: pwithnall
Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=6136274

This is my first package and I need a sponsor. I’m not the upstream maintainer, and am not a Haskell developer; I am merely packaging this as a dependency of Bustle (http://willthompson.co.uk/bustle/).
Comment 1 Jens Petersen 2014-01-04 05:25:37 EST
Hi - just noticed this!

Bustle looks nice... I can probably sponsor you.
Comment 2 Philip Withnall 2014-01-04 07:00:45 EST
(In reply to Jens Petersen from comment #1)
> Bustle looks nice... I can probably sponsor you.

Great, thanks! Would you be able to review the pcap bindings please? I’ve got a mostly-complete Bustle .spec file locally, but I need to finish off some work with the upstream maintainer before I can finish packaging: we’re adding i18n support, a .desktop file and an .appdata file. Once those changes are released, I can finish packaging Bustle itself.
Comment 3 Jens Petersen 2014-01-06 02:55:19 EST
Sounds good.

Package Review
==============
Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed

===== MUST items =====
C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: Header files in -devel subpackage, if present.
[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:
     "Unknown or generated". 3 files have unknown license. Detailed output of
     licensecheck in /home/petersen/pkgreview/1026432-ghc-
     pcap/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: 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.
[x]: 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.
[!]: Requires correct, justified where necessary.

Missing "Requires: pcap-devel" in devel subpackage. I think it is needed.

I recommend appending %{?_isa} to ".*Requires: *libpcap-devel".

[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[-]: 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 778240 bytes in 37 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: No rpmlint messages.
[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

Haskell:
[x]: Static libs in devel package

Yay initial Haskell plugin (output editted;)

===== SHOULD items =====
Generic:
[-]: 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).

Except issue listed above

[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Scriptlets must be sane, if used.
[-]: 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.

http://koji.fedoraproject.org/koji/taskinfo?taskID=6363233

[-]: %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]: Fully versioned dependency in subpackages if applicable.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====
Generic:
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Spec file according to URL is the same as in SRPM.

Rpmlint
-------
Checking: ghc-pcap-0.4.5.2-1.fc20.x86_64.rpm
          ghc-pcap-devel-0.4.5.2-1.fc20.x86_64.rpm
          ghc-pcap-0.4.5.2-1.fc20.src.rpm
3 packages and 0 specfiles checked; 0 errors, 0 warnings.

Rpmlint (installed packages)
----------------------------
# rpmlint ghc-pcap-devel ghc-pcap
2 packages and 0 specfiles checked; 0 errors, 0 warnings.
# echo 'rpmlint-done:'

Requires
--------
ghc-pcap-devel (rpmlib, GLIBC filtered):
    /bin/sh
    ghc(pcap-0.4.5.2-3a21a7f495dd452a593a880072e14ac5)
    ghc-compiler
    ghc-devel(base-4.6.0.1-8aa5d403c45ea59dcd2c39f123e27d57)
    ghc-devel(bytestring-0.10.0.2-4f93248f75667c2c3321a7a6761b576f)
    ghc-devel(network-2.4.1.2-ceff6721a9d15c92aeb91b7ff1b8e52b)
    ghc-devel(time-1.4.0.1-10dc4804a19dc0000fab79908f1a9f50)
    ghc-pcap(x86-64)

ghc-pcap (rpmlib, GLIBC filtered):
    ghc(base-4.6.0.1-8aa5d403c45ea59dcd2c39f123e27d57)
    ghc(bytestring-0.10.0.2-4f93248f75667c2c3321a7a6761b576f)
    ghc(network-2.4.1.2-ceff6721a9d15c92aeb91b7ff1b8e52b)
    ghc(time-1.4.0.1-10dc4804a19dc0000fab79908f1a9f50)
    libHSarray-0.4.0.1-ghc7.6.3.so()(64bit)
    libHSbase-4.6.0.1-ghc7.6.3.so()(64bit)
    libHSbytestring-0.10.0.2-ghc7.6.3.so()(64bit)
    libHSdeepseq-1.3.0.1-ghc7.6.3.so()(64bit)
    libHSghc-prim-0.3.0.0-ghc7.6.3.so()(64bit)
    libHSinteger-gmp-0.5.0.0-ghc7.6.3.so()(64bit)
    libHSmtl-2.1.2-ghc7.6.3.so()(64bit)
    libHSnetwork-2.4.1.2-ghc7.6.3.so()(64bit)
    libHSold-locale-1.0.0.5-ghc7.6.3.so()(64bit)
    libHSparsec-3.1.3-ghc7.6.3.so()(64bit)
    libHStext-0.11.3.1-ghc7.6.3.so()(64bit)
    libHStime-1.4.0.1-ghc7.6.3.so()(64bit)
    libHStransformers-0.3.0.0-ghc7.6.3.so()(64bit)
    libHSunix-2.6.0.1-ghc7.6.3.so()(64bit)
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libgmp.so.10()(64bit)
    libpcap.so.1()(64bit)
    libpthread.so.0()(64bit)
    librt.so.1()(64bit)
    libutil.so.1()(64bit)
    rtld(GNU_HASH)

Provides
--------
ghc-pcap-devel:
    ghc-devel(pcap-0.4.5.2-3a21a7f495dd452a593a880072e14ac5)
    ghc-pcap-devel
    ghc-pcap-devel(x86-64)
    ghc-pcap-static

ghc-pcap:
    ghc(pcap-0.4.5.2-3a21a7f495dd452a593a880072e14ac5)
    ghc-pcap
    ghc-pcap(x86-64)
    libHSpcap-0.4.5.2-ghc7.6.3.so()(64bit)

Unversioned so-files
--------------------
ghc-pcap: /usr/lib64/ghc-7.6.3/pcap-0.4.5.2/libHSpcap-0.4.5.2-ghc7.6.3.so

Source checksums
----------------
http://hackage.haskell.org/packages/archive/pcap/0.4.5.2/pcap-0.4.5.2.tar.gz :
  CHECKSUM(SHA256) this package     : e7e92e6ff4bffa22102335a38dabb97fd0771fdf3b75d45cd7c1708c85e1cd5f
  CHECKSUM(SHA256) upstream package : e7e92e6ff4bffa22102335a38dabb97fd0771fdf3b75d45cd7c1708c85e1cd5f

Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -b 1026432
Buildroot used: fedora-20-x86_64
Active plugins: Generic, Haskell, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, R, PHP, Ruby
Disabled flags: BATCH, EPEL5, EXARCH, DISTTAG


Basically the package looks okay, but there are a few small problems:

- ghc-pcap-devel needs a Requires for pcap-devel
- better to suffix pcap-devel with %{?_isa}
- Summary could be simplified I think and possibly extend %description.
- nitpicking but I suggest moving the BR for pcap-devel after
  "# End cabal-rpm deps".

(I realized that cabal-rpm should probably support .buildinfo files
so that it would pickup the pcap-devel dependency.)

If you can update with these minor changes I am happy to approve
the package and sponsor you.  I would also like to help review
bustle (any plans to release it on Hackage?)
when you come to submit it for review.  Please also copy me
on or let me know of any other initial package submissions you do.
Comment 4 Jens Petersen 2014-01-07 04:04:10 EST
> - ghc-pcap-devel needs a Requires for pcap-devel
> - better to suffix pcap-devel with %{?_isa}

(BTW one way to get these 2 would be to edit pcap.cabal
locally adding "extra-libraries: pcap" to the Library section
and then running "cblrpm spec" on it.)
Comment 5 Philip Withnall 2014-01-07 15:57:57 EST
Thanks for the review. I've updated the .spec file and SRPM here:
 • Spec URL: http://people.collabora.co.uk/~pwith/packaging/ghc-pcap.spec
 • SRPM URL: http://people.collabora.co.uk/~pwith/packaging/ghc-pcap-0.4.5.2-1.fc19.src.rpm

And here are the new Koji builds for F19, F20 and Rawhide:
 • http://koji.fedoraproject.org/koji/taskinfo?taskID=6370921http://koji.fedoraproject.org/koji/taskinfo?taskID=6370927http://koji.fedoraproject.org/koji/taskinfo?taskID=6370961

I left the %summary alone and expanded the %description with text from the libpcap-devel package.
Comment 6 Philip Withnall 2014-01-07 16:34:30 EST
(In reply to Jens Petersen from comment #3)
> If you can update with these minor changes I am happy to approve
> the package and sponsor you.  I would also like to help review
> bustle (any plans to release it on Hackage?)
> when you come to submit it for review.  Please also copy me
> on or let me know of any other initial package submissions you do.

I've just started the process of getting a Hackage account to release Bustle there.

I'll CC you when I create a bug for the Bustle package. :-)

The only other package I've got pending review at the moment is for uhttpmock, and is completely unrelated. Review on it seems to have stalled for the moment: https://bugzilla.redhat.com/show_bug.cgi?id=1026764
Comment 7 Philip Withnall 2014-01-07 17:47:40 EST
(In reply to Philip Withnall from comment #6)
> I've just started the process of getting a Hackage account to release Bustle
> there.

Done:
http://hackage.haskell.org/package/bustle-0.4.3

(Note that this version doesn't include the pending .desktop file, icon and i18n which I'm still trying to get sorted with the package maintainer. The fact that I don't really know Haskell or Cabal doesn't really help!)
Comment 8 Jens Petersen 2014-01-08 00:48:51 EST
(In reply to Philip Withnall from comment #5)
>  • Spec URL: http://people.collabora.co.uk/~pwith/packaging/ghc-pcap.spec
>  • SRPM URL: http://people.collabora.co.uk/~pwith/packaging/ghc-pcap-0.4.5.2-1.fc19.src.rpm

Thanks for the update.
It would be nice to have an rpm changelog entry for the changes.

> I left the %summary alone and expanded the %description with text from the
> libpcap-devel package.

Okay you could also put "Haskell bindings for libpcap" into the summary instead.
I don't think it is a blocker, I just felt the current summary is slightly
verbose, but maybe it is okay.

(In reply to Philip Withnall from comment #7)
> http://hackage.haskell.org/package/bustle-0.4.3

Cool - congrats!

The Requires and BuildRequires look good now.

Package APPROVED.

I have gone ahead and sponsored you.
Comment 9 Philip Withnall 2014-01-08 14:07:32 EST
My ‘packager’ group permissions e-mail came through 13 hours ago, but apparently it hasn’t propagated to Bugzilla, so I can’t set the fedora-cvs flag on this bug (as per https://fedoraproject.org/wiki/Package_SCM_admin_requests).

Here’s the SCM request for ghc-pcap anyway.

New Package SCM Request
=======================
Package Name: ghc-pcap
Short Description: A system-independent interface for user-level packet capture
Owners: pwithnall
Branches: f19 f20 f21
InitialCC: haskell-sig
Comment 10 Jens Petersen 2014-01-08 20:13:11 EST
(In reply to Philip Withnall from comment #9)
> My ‘packager’ group permissions e-mail came through 13 hours ago, but
> apparently it hasn’t propagated to Bugzilla

Hmm dunno - maybe try logging out of bugzilla and back in?
You should be in the FAS fedorabugs groups at least.

> Here’s the SCM request for ghc-pcap anyway.

BTW there is no need to specify f21 until it branches from master (rawhide).
Comment 11 Philip Withnall 2014-01-09 10:17:58 EST
(In reply to Jens Petersen from comment #10)
> (In reply to Philip Withnall from comment #9)
> > My ‘packager’ group permissions e-mail came through 13 hours ago, but
> > apparently it hasn’t propagated to Bugzilla
> 
> Hmm dunno - maybe try logging out of bugzilla and back in?
> You should be in the FAS fedorabugs groups at least.

Seems it was because I was using different e-mail addresses on Bugzilla and FAS (since my Bugzilla account is much older). I’ve changed my address on Bugzilla and I can see the flag now.
Comment 12 Gwyn Ciesla 2014-01-09 10:35:33 EST
Git done (by process-git-requests).
Comment 13 Philip Withnall 2014-01-09 13:38:02 EST
(In reply to Jon Ciesla from comment #12)
> Git done (by process-git-requests).

Doesn’t look like it was successful.

$ fedpkg clone ghc-pcap
Cloning into 'ghc-pcap'...
fatal: '/srv/git/rpms//ghc-pcap.git' does not appear to be a git repository
fatal: Could not read from remote repository.

And http://pkgs.fedoraproject.org/cgit/ghc-pcap.git/ gives a ‘not found’ error too.

Is there a very long propagation time on the git repositories?
Comment 14 Jens Petersen 2014-01-10 05:41:49 EST
> Is there a very long propagation time on the git repositories?

No, I checked and it seems the git repo was not actually created!
The package was added to pkgdb though:
https://admin.fedoraproject.org/pkgdb/acls/name/ghc-pcap
Not sure what went wrong...

Anyway I think it should be fixed now: can you try again? :)
Comment 15 Philip Withnall 2014-01-10 12:35:46 EST
(In reply to Jens Petersen from comment #14)
> Anyway I think it should be fixed now: can you try again? :)

Yup, it's working now, thanks. I've populated master, f19 and f20, and here are the Koji builds for them:
 • http://koji.fedoraproject.org/koji/taskinfo?taskID=6385444http://koji.fedoraproject.org/koji/taskinfo?taskID=6385442http://koji.fedoraproject.org/koji/taskinfo?taskID=6385392

I'll submit the f19 and f20 packages to Bodhi as soon as it stops timing out for me. Thanks for your help!
Comment 16 Fedora Update System 2014-01-10 12:44:37 EST
ghc-pcap-0.4.5.2-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/ghc-pcap-0.4.5.2-1.fc19
Comment 17 Philip Withnall 2014-01-10 12:49:19 EST
ghc-pcap-0.4.5.2-1.fc20 has been submitted as an update for Fedora 20 (manually, because fedpkg was timing out).
https://admin.fedoraproject.org/updates/ghc-pcap-0.4.5.2-1.fc20
Comment 18 Jens Petersen 2014-01-10 21:04:15 EST
Cool - sorry to hear you are having various troubles...
generally Fedora infrastructure works pretty reliably.
Comment 19 Fedora Update System 2014-01-11 03:41:03 EST
ghc-pcap-0.4.5.2-1.fc20 has been pushed to the Fedora 20 testing repository.
Comment 20 Fedora Update System 2014-01-21 00:50:22 EST
ghc-pcap-0.4.5.2-1.fc20 has been pushed to the Fedora 20 stable repository.
Comment 21 Fedora Update System 2014-01-21 00:52:53 EST
ghc-pcap-0.4.5.2-1.fc19 has been pushed to the Fedora 19 stable repository.

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