From Fedora Project Wiki
(Initial version)
 
(Postponed to F25 https://bugzilla.redhat.com/show_bug.cgi?id=1303542#c3)
 
(12 intermediate revisions by 4 users not shown)
Line 2: Line 2:


<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
= Change Proposal Name NewRpmDBFormat =
= NewRpmDBFormat =


== Summary ==
== Summary ==


Change format of the RPM Database from BDB to RPM's own format.
Change format of the RPM Database from Berkeley DB to RPM's own format.


== Owner ==
== Owner ==
Line 25: Line 25:


== Current status ==
== Current status ==
* Targeted release: [[Releases/24 | Fedora 24 ]]  
* Targeted release: [[Releases/25 | Fedora 25 ]]  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Line 35: Line 35:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1303542 #1303542]
 
Due to unexpected technical challenges we postpone this Change one release to F25.


== Detailed Description ==
== Detailed Description ==


The current implementation of the RPM Database is based on Berkley DB. There are doubts about the its future and level of maintenance. In addition rpm's use of the database has multiple issues on its own. As a result RPM upstream is working to replace the database format with a new implementation.
The current implementation of the RPM Database is based on Berkeley DB. There are doubts about the its future and level of maintenance. In addition rpm's use of the database has multiple issues on its own. As a result RPM upstream is working to replace the database format with a new implementation.


== Benefit to Fedora ==
== Benefit to Fedora ==


Getting rid of Berkley DB as a dependency of one of the core components. (Actually not in F24 as we will keep the DBD support for now. But this is the required first step.)
Getting rid of Berkeley DB as a dependency of one of the core components. (Actually not in F24 as we will keep the DBD support for now. But this is the required first step.)


== Scope ==
== Scope ==
Line 54: Line 56:
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Other developers: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers:
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
** Release and update libsolv
** Release and update libsolv
Line 60: Line 62:
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  
Please work with releng prior to feature submission, and ensure that someone is on board to do any process development work and testing; don't just assume that a bullet point in a change puts someone else on the hook.-->
Please work with releng prior to feature submission, and ensure that someone is on board to do any process development work and testing; don't just assume that a bullet point in a change puts someone else on the hook.-->
** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: None <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings -->
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings -->


Line 84: Line 86:
3. What are the expected results of those actions?
3. What are the expected results of those actions?
-->
-->
 
* Update to (not yet available) rpm and libsolv version
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Convert to new rpmdb format (details tbd)
N/A (not a System Wide Change)
* Check if package based operations still work in rpm, yum, dnf, rpm-ostree and all other tools
** Query installed packages
** Install, remove and update packages


== User Experience ==
== User Experience ==
Line 101: Line 105:
* Contingency deadline: beta freeze
* Contingency deadline: beta freeze
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? Yes
* Blocks release? Yes. If there are issues the default setting of the rpmdb format might be needed to be changed back before the release.
* Blocks product? product <!-- Applicable for Changes that blocks specific product release/Fedora.next -->


== Documentation ==
== Documentation ==
Line 116: Line 119:
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze.  
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze.  
-->
-->
The format of the rpm database changed and can not be read by older rpm versions to convert back to the old format XXX.


[[Category:ChangePageIncomplete]]
[[Category:ChangePageIncomplete]]

Latest revision as of 16:44, 26 February 2016


NewRpmDBFormat

Summary

Change format of the RPM Database from Berkeley DB to RPM's own format.

Owner

Current status

Due to unexpected technical challenges we postpone this Change one release to F25.

Detailed Description

The current implementation of the RPM Database is based on Berkeley DB. There are doubts about the its future and level of maintenance. In addition rpm's use of the database has multiple issues on its own. As a result RPM upstream is working to replace the database format with a new implementation.

Benefit to Fedora

Getting rid of Berkeley DB as a dependency of one of the core components. (Actually not in F24 as we will keep the DBD support for now. But this is the required first step.)

Scope

  • Proposal owners:
    • Test and release the already implemented database format.
    • Make sure it is supported by all important tools
      • Tools using librpm should not be affected
      • Libsolv is the most prominent tool accessing the rpmdb directly and needs adjustment
    • Tooling for converting existing databases.
  • Other developers:
    • Release and update libsolv
  • Release engineering: None (hopefully).
  • Policies and guidelines: Not needed
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

Conversion to the new format will make the RPM DB incompatible to older versions of rpm. The new version will be able to convert between the two formats.

How To Test

  • Update to (not yet available) rpm and libsolv version
  • Convert to new rpmdb format (details tbd)
  • Check if package based operations still work in rpm, yum, dnf, rpm-ostree and all other tools
    • Query installed packages
    • Install, remove and update packages

User Experience

This change should influence the user experience.

Dependencies

None

Contingency Plan

  • Contingency mechanism: Stay with the current format (which will continue to be supported). May need manual work for the testers to convert their rpmdb back.
  • Contingency deadline: beta freeze
  • Blocks release? Yes. If there are issues the default setting of the rpmdb format might be needed to be changed back before the release.

Documentation

tbd

Release Notes

The format of the rpm database changed and can not be read by older rpm versions to convert back to the old format XXX.