[Git][debian-gis-team/postgis][experimental] Remove the dpkg-diversions of .control files for older PostGIS versions, using...
Christoph Berg
gitlab at salsa.debian.org
Tue Oct 15 10:57:23 BST 2019
Christoph Berg pushed to branch experimental at Debian GIS Project / postgis
Commits:
2b7b99f8 by Christoph Berg at 2019-10-15T09:56:55Z
Remove the dpkg-diversions of .control files for older PostGIS versions, using diversions on top of alternatives seems too fragile. The 2.5 branch has been updated to use alternatives, so we should have covered most cases in practise.
- - - - -
5 changed files:
- debian/changelog
- debian/postgresql-generic-postgis-scripts.postinst.in
- + debian/postgresql-generic-postgis-scripts.preinst.in
- debian/postgresql-generic-postgis-scripts.prerm.in
- debian/rules
Changes:
=====================================
debian/changelog
=====================================
@@ -1,3 +1,12 @@
+postgis (3.0.0~rc2+dfsg-1~exp2) UNRELEASED; urgency=medium
+
+ * Remove the dpkg-diversions of .control files for older PostGIS versions,
+ using diversions on top of alternatives seems too fragile.
+ The 2.5 branch has been updated to use alternatives, so we should have
+ covered most cases in practise.
+
+ -- Christoph Berg <myon at debian.org> Tue, 15 Oct 2019 11:27:32 +0200
+
postgis (3.0.0~rc2+dfsg-1~exp1) experimental; urgency=medium
[ Christoph Berg ]
=====================================
debian/postgresql-generic-postgis-scripts.postinst.in
=====================================
@@ -8,12 +8,6 @@ DIR="/usr/share/postgresql/$PGVERSION/extension"
case $1 in
configure)
- # first move files from versions without the alternatives system away
- for ext in postgis postgis_raster postgis_sfcgal postgis_tiger_geocoder postgis_topology address_standardizer address_standardizer_data_us; do
- dpkg-divert --package postgresql-$PGVERSION-postgis-$MAJOR_VERSION-scripts --rename \
- --divert $DIR/$ext-old.control --add $DIR/$ext.control
- done
-
# install our alternatives (priority is "30" for compatibility with 2.5, "25")
update-alternatives \
--install $DIR/postgis.control postgresql-$PGVERSION-postgis.control $DIR/postgis-$MAJOR_VERSION.control ${MAJOR_VERSION}0 \
@@ -24,16 +18,6 @@ case $1 in
--slave $DIR/address_standardizer.control postgresql-$PGVERSION-address_standardizer.control $DIR/address_standardizer-$MAJOR_VERSION.control \
--slave $DIR/address_standardizer_data_us.control postgresql-$PGVERSION-address_standardizer_data_us.control $DIR/address_standardizer_data_us-$MAJOR_VERSION.control
- # add alternatives for old versions (priority is "1")
- test -f $DIR/postgis-old.control && update-alternatives \
- --install $DIR/postgis.control postgresql-$PGVERSION-postgis.control $DIR/postgis-old.control 1 \
- --slave $DIR/postgis_raster.control postgresql-$PGVERSION-postgis_raster.control $DIR/postgis_raster-old.control \
- --slave $DIR/postgis_sfcgal.control postgresql-$PGVERSION-postgis_sfcgal.control $DIR/postgis_sfcgal-old.control \
- --slave $DIR/postgis_tiger_geocoder.control postgresql-$PGVERSION-postgis_tiger_geocoder.control $DIR/postgis_tiger_geocoder-old.control \
- --slave $DIR/postgis_topology.control postgresql-$PGVERSION-postgis_topology.control $DIR/postgis_topology-old.control \
- --slave $DIR/address_standardizer.control postgresql-$PGVERSION-address_standardizer.control $DIR/address_standardizer-old.control \
- --slave $DIR/address_standardizer_data_us.control postgresql-$PGVERSION-address_standardizer_data_us.control $DIR/address_standardizer_data_us-old.control
-
;;
esac
=====================================
debian/postgresql-generic-postgis-scripts.preinst.in
=====================================
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+set -eu
+
+MAJOR_VERSION="3"
+PGVERSION="@PGVERSION@"
+DIR="/usr/share/postgresql/$PGVERSION/extension"
+
+# Some early 3.0 versions had a mechanism to divert the control files of older
+# PostGIS versions away. This has been removed because it was too fragile.
+
+if [ "${2:-}" ] &&
+ dpkg --compare-versions "$2" ge "3.0.0~alpha4+dfsg-2~exp1~" &&
+ dpkg --compare-versions "$2" lt "3.0.0~rc2+dfsg-1~exp2~"; then
+
+ # remove alternatives for older versions
+ update-alternatives --remove postgresql-$PGVERSION-postgis.control $DIR/postgis-old.control
+
+ # move any diverted files back
+ for ext in postgis postgis_raster postgis_sfcgal postgis_tiger_geocoder postgis_topology address_standardizer address_standardizer_data_us; do
+ dpkg-divert --package postgresql-$PGVERSION-postgis-$MAJOR_VERSION-scripts --no-rename \
+ --remove $DIR/$ext.control
+ rm -vf $DIR/$ext-old.control
+ done
+fi
+
+#DEBHELPER#
+
+exit 0
=====================================
debian/postgresql-generic-postgis-scripts.prerm.in
=====================================
@@ -11,18 +11,6 @@ case $1 in
# remove our alternatives
update-alternatives --remove postgresql-$PGVERSION-postgis.control $DIR/postgis-$MAJOR_VERSION.control
- # remove alternatives for older versions
- # (this is not totally correct, but we don't have a better place to put it,
- # and it's only wrong when an old version and at least two "new" versions
- # are installed, and one of the new versions is removed)
- update-alternatives --remove postgresql-$PGVERSION-postgis.control $DIR/postgis-old.control
-
- # move any diverted files back
- for ext in postgis postgis_raster postgis_sfcgal postgis_tiger_geocoder postgis_topology address_standardizer address_standardizer_data_us; do
- dpkg-divert --package postgresql-$PGVERSION-postgis-$MAJOR_VERSION-scripts --rename \
- --remove $DIR/$ext.control
- done
-
;;
esac
=====================================
debian/rules
=====================================
@@ -110,6 +110,7 @@ override_dh_auto_clean: debian/control
rm -f $(CURDIR)/debian/postgresql-*-postgis-*.install
rm -f $(CURDIR)/debian/postgresql-*-postgis-*-scripts.install
rm -f $(CURDIR)/debian/postgresql-*-postgis-*-scripts.postinst
+ rm -f $(CURDIR)/debian/postgresql-*-postgis-*-scripts.preinst
rm -f $(CURDIR)/debian/postgresql-*-postgis-*-scripts.prerm
rm -f loader/cunit/cu_tester
rm -rf liblwgeom/cunit/.libs
@@ -146,7 +147,7 @@ override_dh_auto_build:
# Create debhelper files for each Postgres major version
(set -ex; \
for PGVER in $(OTHER_POSTGRES_VERSIONS) $(NEWEST_POSTGRES_VERSION); do \
- for SUFFIX in .install -scripts.install -scripts.postinst -scripts.prerm; do \
+ for SUFFIX in .install -scripts.install -scripts.postinst -scripts.preinst -scripts.prerm; do \
cat $(CURDIR)/debian/postgresql-generic-postgis$$SUFFIX.in \
| sed -e "s/@PGVERSION@/$$PGVER/g" \
> $(CURDIR)/debian/postgresql-$$PGVER-postgis-$(MAJOR_VERSION)$$SUFFIX; \
View it on GitLab: https://salsa.debian.org/debian-gis-team/postgis/commit/2b7b99f85f5b1f2a4dda89536575eae0b030b9e2
--
View it on GitLab: https://salsa.debian.org/debian-gis-team/postgis/commit/2b7b99f85f5b1f2a4dda89536575eae0b030b9e2
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-grass-devel/attachments/20191015/8c86dbe2/attachment-0001.html>
More information about the Pkg-grass-devel
mailing list