Hello,
we would like to package a C++ header-only project, namely tclap ( https://bugzilla.redhat.com/show_bug.cgi?id=683591). The relevant guideline is to be found on: https://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages
The question is: 1. Should the header files go into the main package, removing the need for a -devel sub-package? The reason would be that that package is a development package only, like gcc for instance. 2. Or should the header files go into the -devel sub-package, leaving the main package almost empty (only the README, COPYING documentation would go into the main package), much like what is done for Boost header-only components?
In either case, then, since header files are architecture independent, I guess that the corresponding package should be 'noarch'. However, a pkgconfig (.pc) file is delivered together with the package; and rpmlint complains that pkgconfig files should be delivered by architecture-dependent sub-packages only. Should you leave rpmlint complaining quietly?
Thanks in advance
Best Regards
Denis
On 07/28/2011 05:27 PM, Denis Arnaud wrote:
Hello,
we would like to package a C++ header-only project, namely tclap (https://bugzilla.redhat.com/show_bug.cgi?id=683591). The relevant guideline is to be found on: https://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages
The question is:
- Should the header files go into the main package, removing the need
for a -devel sub-package? The reason would be that that package is a development package only, like gcc for instance. 2. Or should the header files go into the -devel sub-package, leaving the main package almost empty (only the README, COPYING documentation would go into the main package), much like what is done for Boost header-only components?
It's basically up to your preference. I'd package it into a *-devel (sub-) package or at least let the "base-package" additionally provide "*-devel". This would help users of the package should the package be extended in future and a split between "base" and "devel" be necessary.
In either case, then, since header files are architecture independent,
This assumption may apply in your case, but does not apply in general. Header files may well be arch-dependent or the package only support a subset of architectures,
I guess that the corresponding package should be 'noarch'. However, a pkgconfig (.pc) file is delivered together with the package; and rpmlint complains that pkgconfig files should be delivered by architecture-dependent sub-packages only. Should you leave rpmlint complaining quietly?
Where is the *.pc file being installed to rsp. what is rpmlint's complaint?
If the package is "noarch", the *.pc should be installed into %{datadir}/pkgconfig, if it's "arch'ed" the *pc should be installed into %{_libdir}/pkgconfig.
Ralf
packaging@lists.fedoraproject.org