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.
真実はいつも一つ！/ Always, there's only one truth!
To unsubscribe, e-mail: opensuse-packaging+unsubscribe(a)opensuse.org
To contact the owner, e-mail: opensuse-packaging+owner(a)opensuse.org