On Sat, Jan 8, 2022 at 3:39 PM Neal Gompa <ngomp...@gmail.com> wrote:
>
> On Sat, Jan 8, 2022 at 8:58 AM Fabio Valentini <decatho...@gmail.com> wrote:
> >
> > On Wed, Dec 29, 2021 at 4:03 PM Ben Cotton <bcot...@redhat.com> 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@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to