[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#989597: release.debian.org: upgrade issue: non-coinstallability of libgdal20 and libgdal28



On 6/14/21 1:49 PM, Sebastiaan Couwenberg wrote:
> On 6/14/21 1:30 PM, Andreas Beckmann wrote:
>> On 14/06/2021 10.06, Sebastiaan Couwenberg wrote:
>>> What actual problems do are solved by making them co-installable?
>>>
>>> So far the only actualy problem that has been identified is the need for
>>> `apt full-upgrade` twice when the Breaks/Replaces on libgdal20 is not
>>> present.
>>
>> apt currently fails to find an upgrade path for libmrpt-dev (logfile
>> attached, no bug filed, yet). The only solution I could find so far was
>> the big hammer: adding a Breaks against libopencv-core3.2 (or similar)
>> to gcc-10-base.
>> With a co-installable libgdal20/libgdal28 this is gone because the huge
>> dependency trees no longer conflict with each other.
>>
>> Co-installable libgdal20/28 solves a lot of buster->bullseye upgrade
>> issues. So I can concentrate on fixing the remaining incomplete
>> (unversioned) python (2) removal bits. ;-)
> 
> If co-installable libgdal is a must, then I'd rather drop gdal-data and
> move its content back to libgdal28 with an override for the
> big-usr-share lintian issue. That's how it was a long time ago:
> 
>  https://salsa.debian.org/debian-gis-team/gdal/-/commit/140ab452687b2a6d92f3b760379fbbd81f80794a
> 
> I'm not in favor of either option, though.
> 
> We can also drop the Breaks from gdal-data, and have libgdal20 be broken
> for the bits that use it. It will help with the dependency resolution.

I'm increasingly in favor of removing the Breaks from gdal-data, the
attached procedure works for me in buster chroot.

Note the requirements of hdf5 (1.10.6+repack-4), ogdi-dfsg (4.1.0+ds-5),
and gdal (3.2.2+dfsg-2). Both hdf5 and ogdi-dfsg packages are taken from
sid and made available for bullseye via a local repo. gdal only drops
the Breaks to not have libgdal20 removed when libgdal28 is installed
(via postgresql-13-postgis-3 dependencies), see the attached debdiff.

Since the upgrade procedure documented in the release notes includes
purging removed and obsolete packages, users are not expected to keep
libgda20 around after the distribution upgrade.

There is much less need for gdal-data breaking libgdal20 for us than
there is in the UbuntuGIS PPA use case. I'm not aware of any packages
that use gdal in the maintainer scripts that would be using the old gdal
on their removal. So there shouldn't be any actual expected breakage.

This change is minimal, doesn't require NEW packages, nor introduces
divergence from upstream (as when the files would be moved to
u/s/gdal/<X.Y> in libgdal28), hence it's my preferred solution.

If there is no objection, I'll upload gdal (3.2.2+dfsg-2) with the
changes from the debdiff to unstable.

Kind Regards,

Bas

-- 
 GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1
# Have hdf5 (1.10.6+repack-4), ogdi-dfsg (4.1.0+ds-5), gdal (3.2.2+dfsg-2) available for bullseye

apt install postgresql postgresql-11-postgis-2.5{,-scripts} sudo less

pg_ctlcluster 11 main start

sudo -u postgres createdb test

sudo -u postgres psql -vON_ERROR_STOP=1 test <<EOF
CREATE EXTENSION postgis;
CREATE TABLE test (geom geometry);
INSERT INTO test VALUES ('POLYGON((1 1,1 2,2 2,2 1,1 1))');
EOF

echo "SELECT ST_AsText(geom) FROM test;" | sudo -u postgres psql test

sudo -u postgres pg_dump -f /tmp/test.sql test

sed -i 's/buster/bullseye/g' /etc/apt/sources.list
sed -i 's@http://security.debian.org/ bullseye/updates@http://security.debian.org/debian-security bullseye-security@g' /etc/apt/sources.list

apt update && apt upgrade && apt full-upgrade

apt install postgresql-13-postgis-3{,-scripts}

pg_dropcluster --stop 13 main

pg_upgradecluster 11 main

pg_dropcluster 11 main

echo "SELECT ST_AsText(geom) FROM test;" | sudo -u postgres psql test

diff -Nru gdal-3.2.2+dfsg/debian/changelog gdal-3.2.2+dfsg/debian/changelog
--- gdal-3.2.2+dfsg/debian/changelog	2021-03-10 15:12:55.000000000 +0100
+++ gdal-3.2.2+dfsg/debian/changelog	2021-06-18 07:39:53.000000000 +0200
@@ -1,3 +1,10 @@
+gdal (3.2.2+dfsg-2) UNRELEASED; urgency=medium
+
+  * Drop Breaks from gdal-data to make libgdal20 & libgdal28 co-installable.
+    (closes: #986975)
+
+ -- Bas Couwenberg <sebastic@debian.org>  Fri, 18 Jun 2021 07:39:53 +0200
+
 gdal (3.2.2+dfsg-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru gdal-3.2.2+dfsg/debian/control gdal-3.2.2+dfsg/debian/control
--- gdal-3.2.2+dfsg/debian/control	2021-03-10 15:06:40.000000000 +0100
+++ gdal-3.2.2+dfsg/debian/control	2021-06-18 07:39:46.000000000 +0200
@@ -193,7 +193,6 @@
 Architecture: all
 Multi-Arch: foreign
 Depends: ${misc:Depends}
-Breaks: libgdal20 (<< 2.5.0~)
 Description: Geospatial Data Abstraction Library - Data files
  GDAL is a translator library for raster geospatial data formats.
  As a library, it presents a single abstract data model to the

Reply to: