List Archive: gentoo-dev
>>>>> On Thu, 11 Sep 2008, Zac Medico wrote:
> I think it's worthwhile to have consistent phase ordering across all
> EAPIs. Consider an upgrade from EAPI 0 to EAPI 2. If the phase order
> is consistent across all EAPIs, as implemented in
> >=sys-apps/portage-2.1.5, then the order of phase execution order is
> uniform and unambiguous:
> Upgrade from EAPI 0 to EAPI 2
> pkg_preinst (EAPI 2)
> pkg_prerm (EAPI 0)
> pkg_postinst (EAPI 0)
This should read "pkg_postrm" I think?
> pkg_postinst (EAPI 2)
> [...]
> Given that the phase order used in <sys-apps/portage-2.1.5 varies
> depending on whether or not the new and old version are identical
> [1], I consider the uniformity introduced by the new phase order to
> be a change that is well worth keeping. Given the small number of
> problems that have been discovered in practice, tracked by bug
> 226505 [3], I believe that the potential problems have proven to be
> negligible.
+1
In some situations involving eclasses, the new phase order avoids some
problems. pkg_postrm may call a function of an eclass saved with the
old package in the VDB, and it may have advantages if you can clean up
things in pkg_postinst of the new version.
For example, the Emacs team had quite some headache due to pkg_postrm
running after pkg_postinst, leading to complicated code in the present
version of elisp-common.eclass. This wouldn't have been necessary if
the new phase order already was in effect at that time. See ref. [4]
for further details.
Ulrich
[4] http://bugs.gentoo.org/show_bug.cgi?id=210764#c3
|
|