[Fedora-packaging] (C++) Header-Only Package

Ralf Corsepius rc040203 at freenet.de
Thu Jul 28 16:18:06 UTC 2011


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:
> 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?
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


More information about the packaging mailing list