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 package: - 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}? -Toshio
Attachment:
signature.asc
Description: OpenPGP digital signature
-- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list