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.




--
真実はいつも一つ!/ Always, there's only one truth!
_______________________________________________
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