[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Summary of the 2009-01-06 Packaging Committee meeting

Doug Ledford wrote:
> On Wed, 2009-01-07 at 11:30 -0800, Toshio Kuratomi wrote:
>> So, with the exception of the arch-specific files in %{_datadir} which
>> has changed for the new release, this seems to be FHS-kosher to me.  If
>> you can get me a link to the new package I can take a look and see if
>> the situation there is worse.
> Well, not really (unless the FHS changed since I last read it).  The
> solution was to create an %{mpidir} macro that was
> %{name}/%{version}-%{opt_cc} and use %{_libdir}/%{mpidir} as a prefix
> for the entire install.  So, libraries, binaries, man pages, etc config
> files, they all reside under %{_lidbir}/%{mpidir}.  That's an acceptable
> layout for things in /opt according to the FHS, but not for distribution
> provided files in %{_libdir}, and distribution provided files are
> prohibited from being placed in /opt.  Hence the conundrum.
It depends on how you interpret the FHS, I suppose.  In the old
packages, the config files are in /etc, the arch independent data (help
files) are in a subdir or /usr/share/openmpi/, and most of the
arch-specific files are under /usr/lib/openmpi/.  This satisfies the
overarching goal of the FHS, separation of sharable and unsharable data.
 it also satisfies the goal of separating arch specific and arch
independent files.

The question is whether the binaries can go there or have to go in
/usr/bin and whether the libraries can go there or must go directly in
/usr/lib.  For the libraries, we often put private libraries in a
subdirectory of /usr/lib.  These differ in that they're public
libraries.  I lean towards this being okay.  The binaries being in the
subdirectory of %{_libdir} doesn't have as much precedent.  Perhaps we
need to make that usage explicit in the Guidelines just like %{_libexecdir}?

Looking at the new package I see that there's config files under
%{_libdir}/openmpi.  I think these need to go in %{_sysconfdir} instead.
 This is more important than binaries and libraries for several reasons:

1) Having them in %{_libdir} breaks the sharable/unsharable boundary
2) They are files edited by system admins and looked at by the user.
They should be in a predictable place for this reason.

As you noted, there's also some FHS regressions compared to the current

- include files are under %{_libdir} instead of under %{_includedir} --
If these are arch specific include files then this makes sense.  If not,
they belong in %{_includedir}.  What things were broken by doing that?

- man dirs are now under %{_libdir} instead of under %{_datadir}.  What
broke by having these under %{_datadir}?


Attachment: signature.asc
Description: OpenPGP digital signature

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]