Fedora 33 System-Wide Change proposal: RPM 4.16

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://fedoraproject.org/wiki/Changes/RPM-4.16

== Summary ==
Update RPM to the 4.16.0 release.

== Owner ==
* Name: User:pmatilai, User:ffesti

* Email: pmatilai@xxxxxxxxxx,ffesti@xxxxxxxxxx

== Detailed Description ==

RPM 4.16 contains numerous improvements over previous versions
* New database backends and related developments to enable moving away
from Berkeley DB
** experimental sqlite backend
** experimental readonly-bdb backend to support conversion from BDB
without the library
** ndb backend promoted out of experimental
* Much improved expression parser (specs and macros)
* Powerful new macro features (expressions, ternary operator, literal
macros, access to macro body, eliminate unexpected double-expansion
etc)
* Support for macro-only dependency generators (very fast as fork+exec
is entirely avoided)
* Support for meta dependencies (which do not affect ordering)
* Transparent verification support for alternative (ie uncompressed)
payload digest (so deltarpm doesn't need to recompress)
* Automatic SSD detection and optimization

Rawhide rpm will be updated to 4.16 alpha once feature is approved and
updated through
beta and rc cycles, 4.16.0 final release is expected before to F33 beta freeze.

== Benefit to Fedora ==

See above for overall benefits, but most importantly this is the first
major step towards moving away from Berkeley DB based rpmdb. The
database format will not change in this release, but this release
enables wider testing of the new backend(s) and related features such
as switching from one backend to another. In particular it enables
testing of *other software* for compatibility and interoperability
with non-BDB databases. The change of database format is not a part of
this change.

== Scope ==
* Proposal owners:
** Rebase RPM

* Other developers:
** Test new release, report issues and bugs
** Test compatibility of other software with different rpmdb format
(containers, build-systems and such in particular)

* Release engineering: [https://pagure.io/releng/issue/9286 #9286]
* Policies and guidelines: As always, utilizing new rpm features is
subject to packaging guidelines, but the time for this is after the
new version has properly landed. Guideline updates should not be
necessary.

* Trademark approval: N/A (not needed for this Change)

== Upgrade/compatibility impact ==
* Similar to compiler updates, some previously working specs might
fail to build due to stricter error checking and the like. In
particular, barewords (ie non-quoted strings) in expressions are no
longer supported.

== How To Test ==
Rpm receives a thorough and constant testing via every single package
build, system installs and updates. New features can be tested
specifically as per their documentation.

The prime testing target should revolve around database functionality,
robustness and compatibility with other software. There's a
[https://bugzilla.redhat.com/show_bug.cgi?id=1766120 tracking bug] for
Berkeley DB format dependencies.

Details on database testing to be supplied later.

== User Experience ==
There are no significant user experience changes by default, but a
significant increase in overall robustness is expected with non-BDB
databases.

== Dependencies ==
* A soname bump is involved so all API-dependent packages will need a rebuild
* Rpm will grow an additional dependency on sqlite

== Contingency Plan ==

* Contingency mechanism: Roll back to rpm 4.15, but the chance of
having to do should be negligible
* Contingency deadline: Beta freeze.
* Blocks release? No


== Documentation ==
Draft release notes are available at https://rpm.org/wiki/Releases/4.16.0

-- 
Ben Cotton
He / Him / His
Senior Program Manager, Fedora & CentOS Stream
Red Hat
TZ=America/Indiana/Indianapolis
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux