[Fedora-packaging] *.h files in a directory under %{_libdir}?

Ralf Corsepius rc040203 at freenet.de
Wed Nov 12 13:33:55 UTC 2008


On Wed, 2008-11-12 at 13:36 +0100, Mary Ellen Foster wrote:
> Yesterday, there was a bug report on pl (SWI Prolog), a package that I
> co-maintain (https://bugzilla.redhat.com/show_bug.cgi?id=471071), and
> I'm not sure what to do about it.
> 
> I guess SWI assumes that it will be installed with all of its
> libraries and related files into a single directory structure, not
> following the normal LSB file layout. In the pl-devel package at the
> moment, the libraries etc. are under %{_libdir}/pl-%{version}, and
> this directory also ends up as the "PLBASE", but the include files are
> in their LSB-approved place under /usr/include/pl.
> 
> What is the best way to respond to this? I assume it's not encouraged
> to put *.h files into %{_libdir},
Right, but there also is no strict ban on doing so.

More precisely, there are situations when it's advisable to put headers
into some directory below %{_libdir}. 

For example, multilib architecture dependent header files are such a
case (c.f. glibc2-devel).

>  but on the other hand, breaking
> upstream assumptions like this isn't great either. PLBASE is
> documented as "the home directory of SWI-Prolog", but I'm not sure if
> it's actually guaranteed anywhere that .h files will be in this
> directory.
I would doubt this.

In general, any user expectation on where a set of headers is installed
will inevitably be wrong somewhere and will require adaptation of
applications build-files/makefile.

> Suggestions welcome!
The decision is more or less up to you. 

I would not move them to %{_libdir}.

Ralf









More information about the Fedora-packaging mailing list