apt-get upgrade and package consolidation
LS,
In packaging owncloud (https://owncloud.org) for Debian we've hit on a
bit of a snag. In previous versions of the Debian packages, many
disparate components were delivered in their own package
(owncloud-app-encryption, owncloud-app-kichensink, owncloud-app-.....,
etc). These functions have now been consolidated into the main package,
named owncloud-server. The main question now is how to get this upgrade
to go ahead using a normal apt-get upgrade (or the equivalent in other
upgrade mechanisms) without needing to resort to dist-upgrade or a
targeted upgrade (apt-get upgrade/install owncloud-server).
Currently the following happens:
- user has the whole bunch of owncloud-app-... packages installed
as well as owncloud-server, all at v 8.1.1-1.
- the next version of owncloud-server (v 8.1.3-6.1) includes all these
owncloud-app-... packages. In the control file this is stated:
Conflicts: ... owncloud-app-activity (<< 8.1.3-6.1), owncloud-
app-encryption (<< 8.1.3-6.1), ... (etcetera - the list is long)
Breaks: ... owncloud-app-activity (<< 8.1.3-6.1), owncloud-
app-encryption (<< 8.1.3-6.1), ... (etcetera - the list is long)
- user tries a normal upgrade but this fails - owncloud-server
is held back
- attempting to solve this by adding a 'Provides:' section with the
consolidated packages does not solve it either - now both the
owncloud-server package as well as all those 'Provided' packages
are held back.
A discussion on this issue is going on at github:
https://github.com/owncloud/core/issues/19124
The question is what kind of magic can convince apt to remove the old,
now consolidated packages while installing the new owncloud-server
package in a normal upgrade cycle. Can this be done without providing
empty placeholder packages for the consolidated packages? The wiki
(https://wiki.debian.org/PackageTransition) mentions this scenario but
questions the solution ('?? marks needs to be checked. #11 and #12 may
be wrong.').
TIA//Frank de Lange
Reply to: