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.
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
(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
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).
Hi Denis, the latest spec should produce just a tclap-devel and tclap-doc package: http://bugbear.postle.net/~bruno/apt/SPECS/tclap.spec
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
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).
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.
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).
Hello Bruno, I'll try to have a look at it this week-end.
As reference material: http://lists.fedoraproject.org/pipermail/packaging/2011-July/007865.html
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
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).
(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.
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
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
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.
======== 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
Package APPROVED
New Package SCM Request ======================= Package Name: tclap Short Description: Template-Only Command Line Argument Parser Owners: bpostle Branches: f16 InitialCC:
Git done (by process-git-requests).
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
tclap-1.2.0-4.fc16 has been pushed to the Fedora 16 testing repository.
tclap-1.2.0-4.fc16 has been pushed to the Fedora 16 stable repository.
*** Bug 759803 has been marked as a duplicate of this bug. ***