DevHeads.net

Heads-up: rpm 4.15 alpha coming to rawhide

As per <a href="https://fedoraproject.org/wiki/Changes/RPM-4.15" title="https://fedoraproject.org/wiki/Changes/RPM-4.15">https://fedoraproject.org/wiki/Changes/RPM-4.15</a>, rpm 4.15-alpha
will be hitting rawhide soon. A soname bump is involved but Igor kindly
promised to handle rebuilding all dependent packages as part of the
change, so no further action required from others on that account.

There are some other things that will require actions from others however:

A pile of language-specific macros and scripts have been eliminated from
rpm upstream, notably %__python and %__perl and everything built around
them, such as %python_sitelib and %perl_sitelib and their relatives.
Python packages should be using the version specific macros already,
provided by respective pythonN-devel packages so this shouldn't be an
issue. On perl-side, those macros have been temporarily added to
redhat-rpm-config instead to avoid breaking things right now, later to
be moved to final destination in perl-macros or such.

Another major change is in Python bindings where Python 3 is now
properly supported. In all the previous versions where Python 3 bindings
were buildable and available, string data from header was returned as
bytes, but the rest of the API expects strings so nothing really works
(see <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1693751" title="https://bugzilla.redhat.com/show_bug.cgi?id=1693751">https://bugzilla.redhat.com/show_bug.cgi?id=1693751</a>). To make it
worse, it was incompatible with every single rpm-python script ever
written. Usually when something is unusably broken, silence means that
it's not being used, otherwise people do complain. Not so in this case,
the absurd API has been there for almost ten years and people have
adopted to it with zero complaints. In short, rpm-python users still
supporting both Python 2 and 3 are generally compatible with this
change, but Python 3-only projects have out of necessity adopted to the
broken API and will now need to change. The most critical distro
components have more or less already been adopted, but here's more work
to do on this front. This fixed interface will be made available to
4.14.x somehow too, but the details are yet unclear. Because of that,
we'd suggest only patching packages in rawhide to work with the change
right now, and deal with upstreams once dust settles a bit.

Other than that, a major new thing is introduction of some parallel
operations in rpmbuild itself. Testing hasn't shown anything odd but
with threads and all, you never know. Keep your eyes open.

More info and details available in the preliminary release notes at
<a href="https://rpm.org/wiki/Releases/4.15.0" title="https://rpm.org/wiki/Releases/4.15.0">https://rpm.org/wiki/Releases/4.15.0</a> and the change page linked at the
start of this message.