[Fedora-packaging] RFD: C/C++ template packages

Paul Howarth paul at city-fan.org
Mon Oct 15 11:03:21 UTC 2012


On 2012-10-15 11:05, Ralf Corsepius wrote:
> Hi,
>
> Fedora carries some "C/C++" "template"/"header-only" packages
> (Packages which contain C/C++-headers only).
>
> Typically, these packages are being built "BuildArch: noarch".
>
> == These packages are supposed to be arch-independent.
>
> In reality, many of these packages often are wrapper headers, trying
> to wrap to something highly OS-/arch-dependent, from system-headers
> and compiler built-ins defines.
>
> I.e. though these packages are supposed to be arch-independent, there
> is no guarantee nor check whether these packages actually are
> arch-independent.
>
>
> I am proposing to:
>
> Proposal:
>
> All "C/C++-template/header-only packages" must be built using an
> "arch'ed BuildArch", with the resulting binary packages implemented 
> as
> "Arch: noarch"-subpackages.
>
>
> Benefits:
>
> - This would assure such packages would be built on all architectures
> Fedora supports and not only the architecture noarch-packages are
> being built.
>
> - This would exercise potentially existing configuration-scripts on
> all architectures and would allow to exercise test-scripts rsp. 
> coding
> examples (which can be regarded as compilation-checks) on all Fedora
> supported architectures.
>
>
> Comments, opinions?

If the packages do turn out to be arch-specific (e.g. different 
constants for different architectures), the use of noarch subpackages 
would cause the build to fail, which _would_ be a good thing. To fix 
that, the packager would either have to use tricks like the ones often 
found to provide multi-arch support for library-config scripts, or 
making the packages arch-specific, which would probably result in 
multi-arch conflicts unless the install paths were made arch-specific 
too.

So I think this is a good plan except I wouldn't make the use of noarch 
subpackages a MUST - it would be OK to have them arch-specific as long 
as they didn't have multi-arch conflicts (so for example i386 and x86_64 
could be installed in parallel).

Paul.


More information about the packaging mailing list