Re: In what phase are file "merged"?

Michał Górny <[email protected]> Wed, 23 Jun 2021 13:33:57 +0200
Newsgroups gmane.linux.gentoo.portage.devel
Organization Gentoo
Message-ID <[email protected]>
On Wed, 2021-06-23 at 12:40 +0200, Ulrich Mueller wrote:
> > > > > > On Wed, 23 Jun 2021, Fabian Groffen wrote:
> 
> > On 23-06-2021 08:47:58 +0200, Ulrich Mueller wrote:
> > > It's somewhat hidden, but it's there:
> > > https://projects.gentoo.org/pms/8/pms.html#x1-950009.1.10
> > > 
> > > 9.1.10 pkg_preinst
> > > ... immediately before merging the package to the live filesystem.
> > > ...
> > > 
> > > 9.1.11 pkg_postinst
> > > ... immediately after merging the package to the live filesystem.
> > > ...
> 
> > Aha, so does this mean pkg_prerm and pkg_postrm are run with
> > replacing
> > package in place, e.g. if they refer to scripts installed by the
> > replaced package they may no longer exist or be the same?
> 
> PMS has similar wording for pkg_prerm and pkg_postrm, so (at least
> according to the spec) the old package will still be present in
> pkg_prerm and will be gone in pkg_postrm.
> 
> I don't think that the ebuild can rely on any particular status of the
> new package in pkg_*rm (of the old package), or the status of the old
> package in pkg_*inst (of the new package).

I would even say that it can't rely on the particular status of the old
package in any case, if it's meant to be removed.  In particular, its
dependencies can be unmerged before the package itself.

-- 
Best regards,
Michał Górny