Frank de Lange <debian-mentor...@unternet.org> writes:

> 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)

You basically never want both Conflicts and Breaks.  Breaks is a weaker
version of Conflicts.  In this case, I think you want Conflicts, not
Breaks, plus Provides and Replaces.

>  - 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.

I think you need Replaces.  See:

https://www.debian.org/doc/debian-policy/ch-relationships.html#s7.6.2

-- 
Russ Allbery (r...@debian.org)               <http://www.eyrie.org/~eagle/>

Reply via email to