-
Notifications
You must be signed in to change notification settings - Fork 2
Package Splitting
The original DNF bugzilla.
For the sake of this page, let's have package A-1
being renamed to B-1
with a subpackage B-1-sub
Our options:
Equivalent to considering all packages obsoleting A to the new package and its subpackages.
Con: 3rd party repos can easily mess it up.
Con: if a multilib package gets split, the following update always pulls in the other architecture even if it wasn't previously installed as obsoletes don't look at colours. Yum has a special handling for multilib packages in this scenario.
Similar as above, somewhat safer, saner.
Essentially the same as the Yum approach, perhaps with lower or no chance of accidental clash from a 3rd party repo.
Con: needs a new tag.
B has:
Obsoletes: A
B-sub has:
Obsoletes: A SplitFrom: B
Nicely describes both the rename and the split.
Con: needs a new tag.
B has:
Obsoletes: A
B-sub has:
Supplements: installed(A) <= 1
Note that a simple:
Supplements: B <= 1
won't work as the user might only sync the updates after some time when there's already B-2
available (an upgrade path we must support). Neither keeping the supplemented version at the same level as the latest B
is acceptable because a user who deliberately removed B-2
would get B-3
installed on the next update.
Con: powerful spec language.