Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1172771 - Review Request: ocaml-cmdliner - OCaml library for dealing with command line arguments
Summary: Review Request: ocaml-cmdliner - OCaml library for dealing with command line ...
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Jerry James
QA Contact: Fedora Extras Quality Assurance
Depends On:
Blocks: FE-DEADREVIEW 1185099
TreeView+ depends on / blocked
Reported: 2014-12-10 17:21 UTC by Jon Ludlam
Modified: 2016-04-03 15:53 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2016-04-03 15:53:12 UTC

Attachments (Terms of Use)

Description Jon Ludlam 2014-12-10 17:21:17 UTC
Spec URL:
Cmdliner is an OCaml module for the declarative definition of command line
interfaces. It provides a simple and compositional mechanism to convert
command line arguments to OCaml values and pass them to your functions.
The module automatically handles syntax errors, help messages and UNIX
man page generation. It supports programs with single or multiple commands
(like darcs or git) and respects most of the POSIX and GNU conventions.

Fedora Account System Username: jonludlam

Comment 1 Jon Ludlam 2014-12-10 17:31:45 UTC
The guide for submitting these review requests suggests that I point out this is my first submission and that I need a sponsor. I'm hoping Richard W.M. Jones will help me out here!

Comment 2 Vasiliy Glazov 2014-12-11 13:28:47 UTC
Please correct debuginfo package rpmlint error:

ocaml-cmdliner-debuginfo.x86_64: E: debuginfo-without-sources

Comment 3 Jon Ludlam 2014-12-11 13:54:44 UTC
Thanks Vasiliy. Should I bump the release number when I do?

Comment 4 Vasiliy Glazov 2014-12-11 13:58:52 UTC
Yes. And create new post with updated Spec URL and SRPM URL. It must contain changes.

Comment 6 Jon Ludlam 2014-12-11 14:14:42 UTC
Also, koji link:

Comment 7 Richard W.M. Jones 2015-01-23 18:10:37 UTC
In general, the spec file looks OK.  I can't find any specific
problem to point out.

Comment 8 Jon Ludlam 2015-02-24 17:39:02 UTC
As for uutf and jsonm, I've now included a license file explicitly in the SRPM.

Spec URL:

Comment 9 Michel Alexandre Salim 2015-10-20 21:11:57 UTC
Hi everyone,

What's the status on this?

Richard, your update to js-of-ocaml is actually breaking because of a dependency on ocaml-cmdliner.

Jon - would be happy to sponsor if you're still interested in packaging this. Let me know and I'll then proceed with a formal review.

Comment 10 Michel Alexandre Salim 2015-10-20 21:15:00 UTC
ps apologies for the delay - am guessing it's partly because the NEEDSPONSOR tracker wasn't depended on, so potential sponsors didn't see this.

Comment 11 Richard W.M. Jones 2015-10-20 21:56:57 UTC
Andrew, do you want to review this?

Comment 12 Jon Ludlam 2015-10-21 14:57:26 UTC
Two new versions have been released since I made this - let me update it to the latest version before anyone has a look.

Comment 13 Upstream Release Monitoring 2015-10-21 22:40:11 UTC
jonludlam's scratch build of ocaml-cmdliner-0.9.8-1.fc23.src.rpm for f23 completed

Comment 15 Andrew Beekhof 2015-10-23 04:14:38 UTC
Rich, absolutely.
Unless it cant wait until after the openstack summit.  
I wont get a lot done while I'm there :)

Comment 16 Jon Ludlam 2015-11-11 15:55:32 UTC
Hi Andrew, any update on this review?

Comment 17 Andrew Beekhof 2015-12-04 05:54:21 UTC
Its probably best if someone else takes this.  
Too many daily "emergencies" on my end.

Comment 18 Jon Ludlam 2015-12-04 12:14:06 UTC
Ack, I know that feeling :-( Good luck with them!

Comment 19 Jerry James 2016-02-12 20:32:00 UTC
I can take this review.  Jon, do you still need a sponsor?

Package Review

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

- 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 %license.
  Note: License file LICENSE is marked as %doc instead of %license
- SHOULD issue: has upstream been approached about including a separate license
  file in the distribution?
- SHOULD issue: A short note about the patch (e.g., "# Enable building with
  debuginfo") would help others who look at the spec file
- SHOULD issue: the source distribution includes a test directory.  Is a %check
  script possible?
- SHOULD issue: Pass the -p flag (or -a) to cp when copying source files to
  preserve timestamps; this is the case with the first cp command in %install.
- Very minor issue: The comment in %files about the "following line" doesn't
  really refer to the following line.  I found that confusing for a second or
- Consider adding this to avoid producing an empty -debuginfo rpm on
  architectures with no native compiler:

%ifnarch %{ocaml_native_compiler}
%global debug_package %{nil}

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

[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.

[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "BSD (3 clause)", "Unknown or generated". 21 files have unknown
     license. Detailed output of licensecheck in /home/jamesjer/1172771
[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
[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.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 20480 bytes in 3 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]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Package requires other packages for directories it uses.
[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]: Dist tag is present.
[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
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[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
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

[x]: This should never happen

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

[!]: 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]: Fully versioned dependency in subpackages if applicable.
[?]: Package functions as described.
[x]: Latest version is packaged.
[!]: Package does not include license text files separate from upstream.
[!]: Patches link to upstream bugs/comments/lists or are otherwise
[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
[!]: %check is present and all tests pass.
[!]: Packages should try to preserve timestamps of original installed
[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
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

[x]: Rpmlint is run on all installed packages.
[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.

Checking: ocaml-cmdliner-0.9.8-1.fc24.x86_64.rpm
ocaml-cmdliner.x86_64: W: spelling-error %description -l en_US compositional -> com positional, com-positional, composition
ocaml-cmdliner.x86_64: W: spelling-error %description -l en_US darcs -> cards, arcs, dares
ocaml-cmdliner-devel.x86_64: W: no-documentation
ocaml-cmdliner.src: W: spelling-error %description -l en_US compositional -> com positional, com-positional, composition
ocaml-cmdliner.src: W: spelling-error %description -l en_US darcs -> cards, arcs, dares
4 packages and 0 specfiles checked; 0 errors, 5 warnings.

ocaml-cmdliner-devel (rpmlib, GLIBC filtered):

ocaml-cmdliner (rpmlib, GLIBC filtered):

ocaml-cmdliner-debuginfo (rpmlib, GLIBC filtered):




Source checksums
---------------- :
  CHECKSUM(SHA256) this package     : 7dfaafdd88ec9d96abf8ded4c0ea7111948194400220a56e4bb44a1edfa4bd41
  CHECKSUM(SHA256) upstream package : 7dfaafdd88ec9d96abf8ded4c0ea7111948194400220a56e4bb44a1edfa4bd41

Generated by fedora-review 0.6.0 (3c5c9d7) last change: 2015-05-20
Command line :/usr/bin/fedora-review -b 1172771 -m fedora-rawhide-x86_64 -x CheckOwnDirs
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, Ocaml, C/C++
Disabled plugins: Java, Python, SugarActivity, fonts, Haskell, Perl, R, PHP, Ruby

Comment 20 Jerry James 2016-02-26 15:11:12 UTC
Jon, are you still interested in pursuing this review?

Comment 21 Jerry James 2016-03-09 22:48:15 UTC
This review is stalled.  Jon, please respond within one week if you intend to continue with this review.


Comment 22 Jerry James 2016-04-03 15:53:12 UTC
I waited much longer than a week with no response.  I am closing this review due to an unresponsive submitter.  For those concerned about js-of-ocaml and opam, note that the missing dependency is now not even proposed for review.

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