Bug 683591

Summary: Review Request: tclap - Templatized Command Line Argument Parser
Product: [Fedora] Fedora Reporter: Bruno Postle <bruno>
Component: Package ReviewAssignee: Bruno Postle <bruno>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: denis.arnaud_fedora, dwmw2, fedora, fedora-package-review, nobody, notting, package-review, spacewar
Target Milestone: ---Keywords: Reopened
Target Release: ---Flags: denis.arnaud_fedora: fedora-review+
gwync: fedora-cvs+
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: tclap-1.2.0-4.fc16 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-10-25 03:22:21 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: 742501, 1001296    

Description Bruno Postle 2011-03-09 19:25:57 UTC
Spec URL: http://bugbear.postle.net/~bruno/apt/SPECS/tclap.spec
SRPM URL: http://bugbear.postle.net/~bruno/apt/fedora/linux/15/i386/SRPMS.panorama/tclap-1.2.0-1.fc15.src.rpm
Description: This is a simple C++ library that facilitates parsing command line
arguments in a type independent manner.  It doesn't conform exactly
to either the GNU or POSIX standards, although it is close.

Note: I'm submitting this as I'm the maintainer of the hugin package which currently contains a copy of tclap as a bundled lib. This package will allow for this to be removed, yay.

Note also that this library consists entirely of C++ templates, so it would be pointless having a separate tclap-devel, it only makes sense to have tclap and tclap-doc packages - The bogus warnings from rpmlint are a result of this.

Comment 1 Ben Boeckel 2011-06-29 23:31:06 UTC
I'd follow the lead of eigen2[1] with this and make a -devel package with an empty base package.

[1]http://pkgs.fedoraproject.org/gitweb/?p=eigen2.git;a=tree

Comment 2 Bruno Postle 2011-07-04 21:37:57 UTC
(In reply to comment #1)
> I'd follow the lead of eigen2[1] with this and make a -devel package with an
> empty base package.
> 
> [1]http://pkgs.fedoraproject.org/gitweb/?p=eigen2.git;a=tree

Ok, that seems simple enough and it gets rid of the rpmlint warnings.  Here is a spec that produces just tclap-devel and tclap-doc packages: http://bugbear.postle.net/~bruno/apt/SPECS/tclap.spec

Comment 3 Denis Arnaud 2011-07-27 09:30:58 UTC
I would rather put all the header files (.hpp) into the -devel package, and leave the main one almost empty (except the basic documentation: README, COPYING, AUTHORS, NEWS, etc).

An example of such packaging is with Boost, where most of the components are header-only. For instance, Boost.Accumulator has no associated boost-accumulator, and the its headers are only in the boost-devel package.
Note that the (main) boost package is empty (because it's an umbrella on the other library-based Boost packages, such as for instance boost-date-time).

Comment 4 Bruno Postle 2011-07-27 23:11:55 UTC
Hi Denis, the latest spec should produce just a tclap-devel and tclap-doc package: http://bugbear.postle.net/~bruno/apt/SPECS/tclap.spec

Comment 5 Denis Arnaud 2011-07-28 15:36:13 UTC
Hi Bruno, I've played a little bit with the packaging of that project. In either case (the header files go either into the main package or into the -devel sub-package), rpmlint (in its own right) complains about something.
I have asked for advice on the Fedora-packaging mailing list.

Some referential material: https://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages

Comment 6 Denis Arnaud 2011-07-28 15:40:08 UTC
By the way, a "more standard", and portable, alternative to tclap is Boost.Program Options (http://www.boost.org/doc/libs/1_46_1/doc/html/program_options.html).

Comment 7 Bruno Postle 2011-07-28 20:54:43 UTC
Thanks Denis, I'm away for a few days so I probably won't be able to respond until I get back. The developer that added the tclap dependency for Hugin is using Windows, so I guess it made sense to them at the time.

BTW for anyone considering reviewing this package, hugin-2011.2.0 is nearly released with an unbundled tclap, I won't be able to push this new version of hugin into fedora until we get tclap in.

Comment 8 Bruno Postle 2011-09-21 20:27:28 UTC
Ping.

The Hugin 2011.2.0 release is imminent and I'd really like to get it into f16 before f16 final, without tclap this won't be possible.  I appreciate that this package could be noarch, but it works without problems for me as is (I'm building f14/15/16/17 & i386/x86_64 in mock).

Comment 9 Denis Arnaud 2011-09-21 21:13:43 UTC
Hello Bruno, I'll try to have a look at it this week-end.

Comment 10 Denis Arnaud 2011-09-24 17:15:06 UTC
As reference material: http://lists.fedoraproject.org/pipermail/packaging/2011-July/007865.html

Comment 11 Fedora Update System 2011-10-02 21:55:26 UTC
hugin-2011.2.0-1.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/hugin-2011.2.0-1.fc16

Comment 12 Fedora Update System 2011-10-03 17:45:56 UTC
Package hugin-2011.2.0-1.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing hugin-2011.2.0-1.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/hugin-2011.2.0-1.fc16
then log in and leave karma (feedback).

Comment 13 Bruno Postle 2011-10-03 19:55:31 UTC
(In reply to comment #12)
> Package hugin-2011.2.0-1.fc16:
> * should fix your issue,

Ignore this, I pushed the new Hugin 2011.2.0 release but patched it with the bundled tclap from 2011.0.0.

When/if tclap gets into fedora I can remove this patch and rebuild hugin using the system tclap.

Comment 14 Bruno Postle 2011-10-04 21:13:40 UTC
Here is an updated SPEC with suggested changes by Denis Arnaud. This now builds a (mostly empty) tclap package and a tclap-devel: http://bugbear.postle.net/~bruno/apt/SPECS/tclap.spec

The tclap-doc package is now noarch.

SRPM: http://bugbear.postle.net/~bruno/apt/fedora/linux/15/i386/SRPMS.panorama/tclap-1.2.0-3.fc15.src.rpm

Comment 15 Bruno Postle 2011-10-09 21:35:40 UTC
Some more suggested changes, the package is now entirely noarch and builds in mock with no rpmlint warnings/errors on f14, f15, f16 & f17.

http://bugbear.postle.net/~bruno/apt/SPECS/tclap.spec
http://bugbear.postle.net/~bruno/apt/fedora/linux/15/i386/SRPMS.panorama/tclap-1.2.0-4.fc15.src.rpm

Comment 16 Fedora Update System 2011-10-13 04:34:04 UTC
hugin-2011.2.0-1.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 17 Denis Arnaud 2011-10-13 08:15:35 UTC
                     ======== Formal Review ========

XX: Some work could be performed, optionally.

OK -  1. rpmlint returns neither warning nor error
OK -  2. Package name ('tclap') is fine and matches the spec file name.
OK -  3. Packaging guidelines are met.
OK -  4. License: MIT, which is Fedora approved. Indeed, the text of the COPYING
         file is exactly the same as http://en.wikipedia.org/wiki/MIT_License.
         Every source file references the COPYING file and repeats the
         disclaimer of the MIT license. The spec file references correctly the
         MIT license and the dedicated COPYING file is included in the %doc part
         for all the sub-packages.
OK -  5. The spec file is legible and written in American English.
OK -  6. The source file, namely tclap-1.2.0.tar.gz, is the right one.
         Its MD5SUM is: f6ea7c05ef62f920d30e4bde5ee3ec8c
XX -  7. The package builds cleanly, at least on x86_64 (and Fedora 15).
         There are a few warnings, reported by both the C++ compiler and
         Doxygen. Those warnings could be reported upstream.
OK -  8. BuildRequires are fine.
OK -  9. There is no locale. All the filenames are composed of pure ASCII text.
OK - 10. There is neither shared library nor bundle copy of system library.
         The package is not designed to be relocatable.
OK - 11. The package owns all the directories it creates.
OK - 12. The package does not mention files more than once, except for the basic
         documentation (license text).
OK - 13. File permissions are set correctly.
OK - 14. The use of macros is consistent, e.g. %{buildroot}. The %{optflags}
         macro is not explicitly used, but configure and make correctly take it
         into account.
OK - 15. The package contains only source code and permissable content.
OK - 16. The HTML documentation (generated by Doxygen) goes into a dedicated
         -doc sub-package. That latter does not affect the runtime library.
OK - 17. Header files are in the dedicated -devel sub-package. Moreover, 
         as there is neither library nor binary, the main package is empty
         (it contains only the basic documentation). See also
        http://lists.fedoraproject.org/pipermail/packaging/2011-July/007865.html
         The -devel sub-package correctly requires the base package using
         a fully versioned dependency.

SHOULDs:
--------
OK - 18. Upstream includes a separate file for the license text, namely COPYING.
OK - 19. No translation of description and summary is available.
OK - 20. mock builds cleanly. The package is noarch.
OK - 21. The package contains a few unit tests, showing that it functions as
         described.
OK - 22. There is no scriptlet.
OK - 23. pkgconfig is placed within the dedicated -devel sub-package. See also
         item #17 above.
OK - 24. There is no dependency outside of standard Fedora directories.
OK - 25. The package does contain neither script/binary nor library. No man page
         is therefore required.

               =========== End of Formal Review ==========



  ==> APPROVED

Comment 18 Denis Arnaud 2011-10-13 08:17:11 UTC
Package APPROVED

Comment 19 Bruno Postle 2011-10-13 19:21:55 UTC
New Package SCM Request
=======================
Package Name: tclap
Short Description: Template-Only Command Line Argument Parser
Owners: bpostle
Branches: f16
InitialCC:

Comment 20 Gwyn Ciesla 2011-10-13 19:25:49 UTC
Git done (by process-git-requests).

Comment 21 Fedora Update System 2011-10-13 20:09:37 UTC
tclap-1.2.0-4.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/tclap-1.2.0-4.fc16

Comment 22 Fedora Update System 2011-10-15 14:29:17 UTC
tclap-1.2.0-4.fc16 has been pushed to the Fedora 16 testing repository.

Comment 23 Fedora Update System 2011-10-25 03:22:21 UTC
tclap-1.2.0-4.fc16 has been pushed to the Fedora 16 stable repository.

Comment 24 Eric Smith 2011-12-29 23:32:42 UTC
*** Bug 759803 has been marked as a duplicate of this bug. ***