[Bug 259785] pkgbase installation order is underspecified

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 26 Jul 2024 13:24:14 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259785

--- Comment #5 from Mark Johnston <markj@FreeBSD.org> ---
(In reply to Gleb Popov from comment #4)
> Anyways, I don't know much about pkgbase, why do pkgbase packages have post-install scripts at all?

Look at e.g., release/packages/certctl.ucl.

> Hmm, pkg performs that splitting because it has to. We can't just disable it, otherwise there would be no splits at all. If a file belonging to one packages is moved to an another on during the upgrade, but the dependence is the other way around, we have to split and it can't be avoided. Or am I missing something?

Splitting is necessary sometimes, but pkg has control over which package's
upgrades are split.  Suppose a file moves from package A-1.0 to B-1.0, and both
packages are currently installed.  Then, when upgrading to 2.0, we cannot have
A-1.0 and B-1.0 installed simultaneously.  What does pkg do here?  It could:

1. upgrade A-1.0->A-2.0, then upgrade B-1.0->B-2.0,
2. uninstall A-1.0, upgrade B-1.0->B-2.0, install A-2.0
3. uninstall B-1.0, upgrade A-1.0->A-2.0, install B-2.0

Which one does it do in practice?  Does it ever split upgrades unnecessarily? 
And, when a split is necessary, the solver should try to ensure that the
install job is scheduled as early as possible.

-- 
You are receiving this mail because:
You are on the CC list for the bug.