Bug#836993: qgis: fails to upgrade from 'jessie': dpkg-divert: error: rename involves overwriting `/usr/bin/qgis'

Sebastiaan Couwenberg sebastic at xs4all.nl
Sun Sep 11 11:01:00 UTC 2016


Control: tags -1 pending

On 09/11/2016 01:59 AM, Andreas Beckmann wrote:
> looks like you are doing a more complicated diversion transition ...

Yes. And a lovely mess it has created now that we don't need it any
more. The situation is complicated by the fact that upstream moved the
diversion around in non-LTRs which were never in Debian. Fortunately we
don't have to care about the upstream use-case in Debian.


The jessie version (2.4.0-1) added the diversion in
qgis-plugin-grass.preinst:

 if [ "$1" = "install" -o "$1" = "upgrade" ]; then
         dpkg-divert --package qgis-plugin-grass --add --rename \
                     --divert /usr/bin/qgis.bin /usr/bin/qgis
         dpkg-divert --package qgis-plugin-grass --add --rename \
                     --divert /usr/bin/qbrowser.bin /usr/bin/qbrowser
 fi

And removed it qgis-plugin-grass.postrm:

 if [ "$1" = "remove" ]; then
         dpkg-divert --package qgis-plugin-grass --remove --rename \
                     --divert /usr/bin/qgis.bin /usr/bin/qgis
         dpkg-divert --package qgis-plugin-grass --remove --rename \
                     --divert /usr/bin/qbrowser.bin /usr/bin/qbrowser
 fi


The sid version (2.14.6+dfsg-1) just removed it in qgis.preinst:

 if [ "$1" = "install" -o "$1" = "upgrade" ]; then
         # Remove obsolete diversions
         for i in /usr/bin/qgis /usr/bin/qbrowser; do
                 pkg=$(dpkg-divert --listpackage $i)
                 if [ -n "$pkg" -a "$pkg" = qgis-plugin-grass -o \
                                   "$pkg" = qgis-provider-grass ]; then
                         dpkg-divert --package $pkg --rename --remove $i
                 fi
         done
 fi

The above has been moved in -2 to postinst, which doesn't get called
with the install or upgrade arguments, which I've not fixed by checking
for the configure argument.

It seems the underlaying issue was not removing the diversion in prerm
as well, I've now added that too. If that is still not sufficient to fix
this issue, I guess we need the removals in qgis-plugin-grass package too.

Kind Regards,

Bas

-- 
 GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1



More information about the Pkg-grass-devel mailing list