[opensuse-packaging] Proposal: Use /usr/libexec for libexec content
Hello, I'd like to propose adding /usr/libexec to the openSUSE FHS and reverting the definition of %_libexecdir in rpm back to /usr/libexec so that libexec content is installed there. Currently, openSUSE overrides rpm to define %_libexecdir as /usr/lib, which leads to pollution of the /usr/lib directory with executable content as well as 64-bit content when there shouldn't be any. The /usr/libexec has been in use on RH/Fedora and Mageia systems in the Linux world, but has its origins in BSD and is still used today in BSDs and variants (like Mac OS X). The usage of /usr/libexec for libexec content has also been recognized by FHS with v3.0, released in 2015. In the Linux distribution landscape (that is, all major families, not just RPM ones), /usr/libexec is in use on Red Hat, Mandrake, Gentoo, and Slackware families. This is a breaking change, as it means that as packages are rebuilt, libexec content *should* migrate from /usr/lib to /usr/libexec. The major advantage of migrating the libexec content is that it will make openSUSE consistent with other major RPM-based Linux distributions, and ease efforts in supporting SUSE distributions along with Red Hat ones by removing the need for hacks and tweaks to support two different hierarchies. This simplifies the portability headaches in supporting both distribution families, and makes it easier for applications that were originally aimed for RHEL/CentOS to run on SLE/openSUSE Leap. This change would be done in three stages: 1. Make the change to the filesystem package to add /usr/libexec to the hierarchy. 2. Add /usr/libexec to allowed prefixes in rpmlint-checks and remove spec-cleaner rule that assumes /usr/lib == %_libexecdir. 3. Make the change to the rpm package to set %_libexecdir back to /usr/libexec. This one will cause a fair bit of work to fix packages that do the wrong thing one way or another with %_libexecdir. What do you all think? Best regards, Neal -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Mon, Jul 22, Neal Gompa wrote:
This change would be done in three stages:
1. Make the change to the filesystem package to add /usr/libexec to the hierarchy. 2. Add /usr/libexec to allowed prefixes in rpmlint-checks and remove spec-cleaner rule that assumes /usr/lib == %_libexecdir. 3. Make the change to the rpm package to set %_libexecdir back to /usr/libexec. This one will cause a fair bit of work to fix packages that do the wrong thing one way or another with %_libexecdir.
What do you all think?
I don't see really a problem with this subdirectories in /usr/lib, as this is nothing a normal user should care about, and for packages, RPM does take care of if the package uses the correct macros. But I would not vote against it, too. I have a much bigger problem with all the configuration files in /usr/lib and subdirectories, because this makes it really hard and difficult for admins to find the right one. Thorsten -- Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany GF: Felix Imendoerffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nuernberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Monday 2019-07-22 15:17, Neal Gompa wrote:
I'd like to propose adding /usr/libexec to the openSUSE FHS and reverting the definition of %_libexecdir in rpm back to /usr/libexec so that libexec content is installed there. [..] What do you all think?
Let's do it. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Mon, Aug 26, 2019 at 3:47 AM Jan Engelhardt <jengelh@inai.de> wrote:
On Monday 2019-07-22 15:17, Neal Gompa wrote:
I'd like to propose adding /usr/libexec to the openSUSE FHS and reverting the definition of %_libexecdir in rpm back to /usr/libexec so that libexec content is installed there. [..] What do you all think?
Let's do it.
First steps: * filesystem SR to Base:System: https://build.opensuse.org/request/show/727786 * rpmlint-checks PR: https://github.com/openSUSE/rpmlint-checks/pull/48 -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (3)
-
Jan Engelhardt
-
Neal Gompa
-
Thorsten Kukuk