On Sat, Jan 8, 2022 at 3:39 PM Neal Gompa <ngompa13@xxxxxxxxx> wrote: > > On Sat, Jan 8, 2022 at 8:58 AM Fabio Valentini <decathorpe@xxxxxxxxx> wrote: > > > > On Wed, Dec 29, 2021 at 4:03 PM Ben Cotton <bcotton@xxxxxxxxxx> wrote: > > > > > > > (snip) > > > > > > > > == Detailed Description == > > > === Current location === > > > <pre>/var/lib/rpm</pre> > > > > > > === New location === > > > <pre>/usr/lib/sysimage/rpm</pre> > > > > > > <code>/var/lib/rpm</code> will be a symlink pointing to > > > <code>/usr/lib/sysimage/rpm</code> > > > > I did not find a mention of this in the thread or in the Change > > proposal, so I'll ask: > > How do you plan to handle the directory -> symlink replacement on upgrade? > > > > As far as I can tell, those always required special treatment via > > %pretrans scriptlets or something, and even the method currently > > recommended by the Packaging Guidelines seems to be broken due to the > > way dnf / RPM verifies validity of transactions. > > > > Additionally, that "special" handling will probably need to stay in > > the RPM package's .spec file for years, given that upgrades from > > Fedora 34 to 36 will need to be supported. > > > > This is documented in the Change: > https://fedoraproject.org/wiki/Changes/RelocateRPMToUsr#Upgrade.2Fcompatibility_impact > > The part that's probably missing there is that the upgraded package > will release ownership of /var/lib/rpm and own the > /usr/lib/sysimage/rpm directory. > > The configuration will change in the upgrade, and then an rpmdb > rebuild on reboot will finalize the transition, as rpmdb rebuilds are > done by loading the rpmdb in memory, renaming the directory, > recreating it, and re-initializing the database files from memory. > > This avoids the pitfalls you've described with the pretrans stuff. Oh, great. Looks like I'm ~tired~ and missed that this is in the Change proposal after all ... Thanks for confirming that you found a way to handle upgrades. Fabio _______________________________________________ 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 Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure