[opensuse-factory] Proposal: Update rpm configuration to fix issues and rationalize configuration
Hello, With some guidance from Michael Schroeder, I'd like to propose a few changes to RPM for Factory / Tumbleweed in time for SLE 15. * Backport the --changes option from RPM git master to rpm 4.13. This is a very simple change that exposes RPM's changelog data with full timestamps. Previously, the commit to support changelogs with full timestamps was backported for reproducible builds work, but the commits for users to access that information easily was not. This is a trivial change, as it merely adds a popt definition and extends the man page to include info on the new parameter. * Change the default binary package payload compression algorithm from old-lzma to xz. Apparently, this change was supposed to have already happened some time ago, but it didn't. This change is simple and brings openSUSE in line with Red Hat Enterprise Linux/CentOS/Fedora and Mageia, as both use xz payloads now. Packages compressed with old-lzma will still be readable by rpm, and even packages compressed with xz will be readable by SLES 12 / OpenSUSE Leap 42 systems. * Define %_sharedstatedir as /var/lib instead of /usr/com. The current path for shared state content (/usr/com) isn't recognized by FHS, whereas /var/lib is recognized as suitable for this purpose, and is currently used as such by Red Hat Enterprise Linux/CentOS/Fedora; Mageia; and Debian/Ubuntu systems. This is expected to be a trivial change, as the /usr/com path has been broken for years and isn't even really used by anything. * Revert %_libexecdir to /usr/libexec. 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. This path has been in use on Red Hat Enterprise Linux/CentOS/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 finally been recognized by FHS with v3.0, released in 2015. 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 SLE/openSUSE Leap/openSUSE Tumbleweed alongside Red Hat/CentOS/Fedora by removing the need for hacks and tweaks to support two different hierarchies. With the exception of the --changes backport, all of these proposed changes are geared towards improving compatibility across RPM-based Linux distributions, particularly the two commercial ones: Red Hat Enterprise Linux and SUSE Linux Enterprise. I believe that by doing this, we can make it easier for people to be encouraged to support SLE/openSUSE as a first class platform alongside Red Hat/CentOS/Fedora for FOSS and commercial software. Best regards, Neal -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 04/24/2017 08:19 AM, Neal Gompa wrote:
Hello,
With some guidance from Michael Schroeder, I'd like to propose a few changes to RPM for Factory / Tumbleweed in time for SLE 15.
* Backport the --changes option from RPM git master to rpm 4.13. This is a very simple change that exposes RPM's changelog data with full timestamps. Previously, the commit to support changelogs with full timestamps was backported for reproducible builds work, but the commits for users to access that information easily was not. This is a trivial change, as it merely adds a popt definition and extends the man page to include info on the new parameter.
I strongly support this. Lack of easily exposed changelogs is one of my pet peeves with openSUSE. https://bugzilla.opensuse.org/show_bug.cgi?id=1028399 Nate -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 04/24/2017 04:19 PM, Neal Gompa wrote:
Hello,
With some guidance from Michael Schroeder, I'd like to propose a few changes to RPM for Factory / Tumbleweed in time for SLE 15.
* Backport the --changes option from RPM git master to rpm 4.13.
What is the difference to the existing --changelog option? cu, Rudi -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Mon, Apr 24, 2017 at 10:27 AM, Rüdiger Meier <sweet_f_a@gmx.de> wrote:
On 04/24/2017 04:19 PM, Neal Gompa wrote:
Hello,
With some guidance from Michael Schroeder, I'd like to propose a few changes to RPM for Factory / Tumbleweed in time for SLE 15.
* Backport the --changes option from RPM git master to rpm 4.13.
What is the difference to the existing --changelog option?
The --changes option shows the time as well as the date. --changelog only shows the date. Now that RPM can encode the full timestamp, that's useful information. Upstream wanted it to be a different option rather than updating --changelog, so it is what it is. -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Monday 2017-04-24 16:19, Neal Gompa wrote:
* Revert %_libexecdir to /usr/libexec. 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.
Notice how systemd uses rootlibexecdir=$(rootprefix)/lib/systemd Since a certain figure associated with the project is working with RedHat, I can't help but think whether maybe SUSE was ahead of its time to consolidate lib and libexec and that systemd copied our idea :-) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Mon, Apr 24, 2017 at 10:27 AM, Jan Engelhardt <jengelh@inai.de> wrote:
On Monday 2017-04-24 16:19, Neal Gompa wrote:
* Revert %_libexecdir to /usr/libexec. 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.
Notice how systemd uses
rootlibexecdir=$(rootprefix)/lib/systemd
Since a certain figure associated with the project is working with RedHat, I can't help but think whether maybe SUSE was ahead of its time to consolidate lib and libexec and that systemd copied our idea :-)
That was due to Debian wanting the systemd units in the root while not being willing to add /share. Using /lib was the compromise. Systemd is a very strange exception to all of this, because of Debian... :/ -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Monday 2017-04-24 16:27, Jan Engelhardt wrote:
On Monday 2017-04-24 16:19, Neal Gompa wrote:
* Revert %_libexecdir to /usr/libexec. 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.
Notice how systemd uses
rootlibexecdir=$(rootprefix)/lib/systemd
Since a certain figure associated with the project is working with RedHat, I can't help but think whether maybe SUSE was ahead of its time to consolidate lib and libexec and that systemd copied our idea :-)
(Trying to imply here that systemd's use of lib over libexec is the beginning of the end of libexec on Fedora..) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Mon, Apr 24, 2017 at 10:29 AM, Jan Engelhardt <jengelh@inai.de> wrote:
On Monday 2017-04-24 16:27, Jan Engelhardt wrote:
On Monday 2017-04-24 16:19, Neal Gompa wrote:
* Revert %_libexecdir to /usr/libexec. 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.
Notice how systemd uses
rootlibexecdir=$(rootprefix)/lib/systemd
Since a certain figure associated with the project is working with RedHat, I can't help but think whether maybe SUSE was ahead of its time to consolidate lib and libexec and that systemd copied our idea :-)
(Trying to imply here that systemd's use of lib over libexec is the beginning of the end of libexec on Fedora..)
Incidentally, it was a huge mess to get that change in Fedora, as the units were supposed to be in /usr/share/systemd instead, while the binaries were in /usr/libexec/systemd. The change was made (under protest) because systemd guys wanted the paths to be exactly the same everywhere for systemd units and things. I continue to disagree with this change and I would rather see it fixed at some point, but this is not about the peculiarities of systemd. -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (4)
-
Jan Engelhardt
-
Nate Graham
-
Neal Gompa
-
Rüdiger Meier