From Fedora Project Wiki
Line 65: Line 65:
* Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Other developers: <!-- REQUIRED FOR SYSTEM WIDE 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?-->
<!-- 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?-->
** change in rpm and dnf-data packages
** changes in rpm and dnf-data packages
*** create the new path instead of old
*** create the new path instead of old
*** create symlinks for the old path to new path
*** create symlinks for the old path to new path
Line 79: Line 79:
* Alignment with Objectives:  
* Alignment with Objectives:  
** Helps align Fedora variants with each other
** Helps align Fedora variants with each other
*** rpm-ostree based systems (including CoreOS, IoT, Silverblue, Kinoite) already use `/usr/lib/sysimage` for rpm.
*** rpm-ostree based systems (including CoreOS, IoT, Silverblue, Kinoite) already use `/usr/lib/sysimage` for rpmdb.


== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==

Revision as of 18:16, 6 December 2021

Relocate RPM/DNF databases to /usr

Summary

Currently, the RPM and DNF databases are located in /var. Let's move them to /usr.

Owner


Current status

  • Targeted release: Fedora Linux 36
  • Last updated: 2021-12-06
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

Current location

/var/lib/rpm 
/var/lib/dnf

New location

/usr/lib/sysimage/rpm 
/usr/lib/sysimage/dnf


Feedback

Benefit to Fedora

The RPM and DNF databases describe the state of (primarily) /usr. Storing these databases in /usr will more easily facilitate OS rollback, without affecting /var.


Scope

  • Proposal owners:
  • Other developers:
    • changes in rpm and dnf-data packages
      • create the new path instead of old
      • create symlinks for the old path to new path
    • changes in SElinux policy
  • Release engineering: #Releng issue 10441
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives:
    • Helps align Fedora variants with each other
      • rpm-ostree based systems (including CoreOS, IoT, Silverblue, Kinoite) already use /usr/lib/sysimage for rpmdb.

Upgrade/compatibility impact

Change will be applied on upgrades to Fedora 36.


How To Test

  • Clean install or upgrade an existing Fedora system
  • Note the changes


User Experience

Users will notice:

  • symlinks in the old locations for the databases, pointing to the new locations;
  • paths existing in the new locations.

Otherwise, the change should be invisible to users.

Dependencies

  • rpm-ostree probably should make usr/share/rpm a symlink to /usr/lib/sysimage/rpm` rather than the reverse, as it is currently.


Contingency Plan

  • Contingency mechanism: Revert the change, try again the next Fedora release.
  • Contingency deadline: Beta freeze
  • Blocks release? Yes

Documentation

N/A (not a System Wide Change)

Release Notes