[Pkg-ocaml-maint-commits] r1603 - trunk/packages/unison/trunk/debian

Sylvain LE GALL gildor-guest at costa.debian.org
Sun Aug 14 15:28:58 UTC 2005


Author: gildor-guest
Date: 2005-08-14 15:28:57 +0000 (Sun, 14 Aug 2005)
New Revision: 1603

Added:
   trunk/packages/unison/trunk/debian/unison-gtk.preinst.in
   trunk/packages/unison/trunk/debian/unison.preinst.in
Modified:
   trunk/packages/unison/trunk/debian/NEWS.Debian
   trunk/packages/unison/trunk/debian/README.Debian
   trunk/packages/unison/trunk/debian/changelog
   trunk/packages/unison/trunk/debian/rules
   trunk/packages/unison/trunk/debian/unison-gtk.menu.in
   trunk/packages/unison/trunk/debian/unison-gtk.postinst.in
   trunk/packages/unison/trunk/debian/unison-gtk.prerm.in
   trunk/packages/unison/trunk/debian/unison.dirs.in
   trunk/packages/unison/trunk/debian/unison.postinst.in
   trunk/packages/unison/trunk/debian/unison.prerm.in
Log:
Correct the behavior of update-alternatives -- SLG


Modified: trunk/packages/unison/trunk/debian/NEWS.Debian
===================================================================
--- trunk/packages/unison/trunk/debian/NEWS.Debian	2005-08-14 00:32:55 UTC (rev 1602)
+++ trunk/packages/unison/trunk/debian/NEWS.Debian	2005-08-14 15:28:57 UTC (rev 1603)
@@ -1,3 +1,20 @@
+unison (2.13.16-1) unstable; urgency=low
+
+ As of version 2.10.2, the package use an alternative to let the user choose between unison
+ and unison2.9.1 binaries for unison and unison-gtk. The binaries used in unison and unison-gtk 
+ package were versionned binaries (ie unison2.10.2 and unison2.10.2-gtk). This was a mistake. 
+ When trying to upgrade to new upstream version, former alternatives were not removed and
+ you keep symlinks to non existent binaries (ie you stay with unison pointing to 
+ unison2.10.2). This behavior is corrected by using a stable name for unison binaries (ie 
+ unison-latest-stable).
+
+ If you have configured alternatives, you may encounter some problem, because during 
+ upgrade the symlink won't be updated, since it has been user configured. In this case, you 
+ should run "update-alternatives --auto unison && update-alternatives --auto unison-gtk" to 
+ restore the good behavior.
+
+ -- Sylvain Le Gall <sylvain.le-gall at polytechnique.org>  Sat, 13 Aug 2005 20:17:11 +0200
+
 unison (2.10.2-2) unstable; urgency=low
 
  Upgrading from version 2.9.1 to 2.10.2 involves a lot of changes. In particular, most of

Modified: trunk/packages/unison/trunk/debian/README.Debian
===================================================================
--- trunk/packages/unison/trunk/debian/README.Debian	2005-08-14 00:32:55 UTC (rev 1602)
+++ trunk/packages/unison/trunk/debian/README.Debian	2005-08-14 15:28:57 UTC (rev 1603)
@@ -48,7 +48,7 @@
 hold the latest release of Unison ( ie 2.11.0 ).
 
 By this way, you should always be able to synchronise 
-stable/testing/unstable  system using unison ( the good version 
+stable/testing/unstable system using unison ( the good version 
 of unison ).
 
  -- Sylvain Le Gall <sylvain.le-gall at polytechnique.org>  Mon, 25 Apr 2005 23:06:44 +0200  

Modified: trunk/packages/unison/trunk/debian/changelog
===================================================================
--- trunk/packages/unison/trunk/debian/changelog	2005-08-14 00:32:55 UTC (rev 1602)
+++ trunk/packages/unison/trunk/debian/changelog	2005-08-14 15:28:57 UTC (rev 1603)
@@ -9,6 +9,13 @@
     * the dependency is mainly a documentation dependency (symlink for
       unison-gtk.1.gz and /usr/share/doc/unison-gtk )
     * user can choose to install both unison and unison-gtk
+  * Correct a problem in the alternative system: when a package is upgraded
+    upstream, the binary provided is also changed (ie going from 
+    /usr/bin/unison-2.12.0 to /usr/bin/unison-2.13.16). So we symlinked the
+    binary to unison-latest-stable and use this binary in the alternative
+    system. 
+  * Add a unison[-gtk].preinst in order to correct the former behavior of
+    update alternatives.
 
  -- Sylvain Le Gall <sylvain.le-gall at polytechnique.org>  Sat, 13 Aug 2005 20:17:11 +0200
 

Modified: trunk/packages/unison/trunk/debian/rules
===================================================================
--- trunk/packages/unison/trunk/debian/rules	2005-08-14 00:32:55 UTC (rev 1602)
+++ trunk/packages/unison/trunk/debian/rules	2005-08-14 15:28:57 UTC (rev 1603)
@@ -19,9 +19,11 @@
 UNISON=unison-$(VERSION)
 UNISON_MAJ=UNISON-$(VERSION)
 UNISON_PACKAGE=unison$(PACKAGE_VERSION)
+UNISON_ALTERNATIVE=$(if $(PACKAGE_VERSION),$(UNISON_PACKAGE),unison-latest-stable)
 
 UNISON_GTK=unison-$(VERSION)-gtk
 UNISON_GTK_PACKAGE=$(UNISON_PACKAGE)-gtk
+UNISON_GTK_ALTERNATIVE=$(if $(PACKAGE_VERSION),$(UNISON_GTK_PACKAGE),unison-latest-stable-gtk)
 
 # End of variable to be replaced
 
@@ -35,10 +37,12 @@
 RENAME += debian/unison.docs.in
 RENAME += debian/unison.postinst.in
 RENAME += debian/unison.prerm.in
+RENAME += debian/unison.preinst.in
 RENAME += debian/unison-gtk.dirs.in
 RENAME += debian/unison-gtk.menu.in
 RENAME += debian/unison-gtk.postinst.in
 RENAME += debian/unison-gtk.prerm.in
+RENAME += debian/unison-gtk.preinst.in
 
 build: build-stamp
 build-stamp: patch-stamp
@@ -51,14 +55,16 @@
 	  DST=$${DST/unison/$(UNISON_PACKAGE)}; \
 	  DST=$${DST%%.in}; \
 	  sed -e "\
-	    s/@VERSION@/$(VERSION)/g;                       \
-	    s/@PACKAGE_VERSION@/$(PACKAGE_VERSION)/g;       \
-	    s/@PRIORITY@/$(PRIORITY)/g;                     \
-	    s/@UNISON@/$(UNISON)/g;                         \
-	    s/@UNISON_MAJ@/$(UNISON_MAJ)/g;                 \
-	    s/@UNISON_PACKAGE@/$(UNISON_PACKAGE)/g;         \
-	    s/@UNISON_GTK@/$(UNISON_GTK)/g;                 \
-	    s/@UNISON_GTK_PACKAGE@/$(UNISON_GTK_PACKAGE)/g; \
+	    s/@VERSION@/$(VERSION)/g;                               \
+	    s/@PACKAGE_VERSION@/$(PACKAGE_VERSION)/g;               \
+	    s/@PRIORITY@/$(PRIORITY)/g;                             \
+	    s/@UNISON@/$(UNISON)/g;                                 \
+	    s/@UNISON_MAJ@/$(UNISON_MAJ)/g;                         \
+	    s/@UNISON_PACKAGE@/$(UNISON_PACKAGE)/g;                 \
+	    s/@UNISON_ALTERNATIVE@/$(UNISON_ALTERNATIVE)/g;         \
+	    s/@UNISON_GTK@/$(UNISON_GTK)/g;                         \
+	    s/@UNISON_GTK_PACKAGE@/$(UNISON_GTK_PACKAGE)/g;         \
+	    s/@UNISON_GTK_ALTERNATIVE@/$(UNISON_GTK_ALTERNATIVE)/g; \
 	    " $$i > \
 	  $$DST; \
 	done
@@ -106,6 +112,21 @@
 	  $(CURDIR)/debian/$(UNISON_GTK_PACKAGE)/usr/share/doc/$(UNISON_GTK_PACKAGE)
 	ln -s $(UNISON).1.gz \
 	  $(CURDIR)/debian/$(UNISON_GTK_PACKAGE)/usr/share/man/man1/$(UNISON_GTK).1.gz
+	# Creating symlink from binary to $(UNISON_ALTERNATIVE) and $(UNISON_GTK_ALTERNATIVE)
+	for i in \
+	  $(CURDIR)/debian/$(UNISON_PACKAGE)/usr/bin/$(UNISON_ALTERNATIVE) \
+	  $(CURDIR)/debian/$(UNISON_PACKAGE)/usr/share/man/man1/$(UNISON_ALTERNATIVE).1.gz \
+	  $(CURDIR)/debian/$(UNISON_GTK_PACKAGE)/usr/bin/$(UNISON_GTK_ALTERNATIVE) \
+	  $(CURDIR)/debian/$(UNISON_GTK_PACKAGE)/usr/share/man/man1/$(UNISON_GTK_ALTERNATIVE).1.gz \
+	  ; do \
+	  FILENAME=$${i##*/}; \
+	  FILENAME=$${FILENAME/$(UNISON_ALTERNATIVE)/$(UNISON)}; \
+	  FILENAME=$${FILENAME/$(UNISON_GTK_ALTERNATIVE)/$(UNISON_GTK)}; \
+	  if ! [ -e $$i ]; then \
+	    ln -s $$FILENAME \
+	      $$i; \
+	  fi \
+	done
 
 binary-indep: build install
 

Modified: trunk/packages/unison/trunk/debian/unison-gtk.menu.in
===================================================================
--- trunk/packages/unison/trunk/debian/unison-gtk.menu.in	2005-08-14 00:32:55 UTC (rev 1602)
+++ trunk/packages/unison/trunk/debian/unison-gtk.menu.in	2005-08-14 15:28:57 UTC (rev 1603)
@@ -1,3 +1,3 @@
-?package(@UNISON_GTK_PACKAGE@):needs="x11" section="Apps/Net" \
+?package(@UNISON_GTK_PACKAGE@):needs="x11" section="Apps/Tools" \
  title="Unison @VERSION@ (GTK)" command="/usr/bin/@UNISON_GTK@" \
  longtitle="Unison @VERSION@ file synchronizer (GTK interface)"

Modified: trunk/packages/unison/trunk/debian/unison-gtk.postinst.in
===================================================================
--- trunk/packages/unison/trunk/debian/unison-gtk.postinst.in	2005-08-14 00:32:55 UTC (rev 1602)
+++ trunk/packages/unison/trunk/debian/unison-gtk.postinst.in	2005-08-14 15:28:57 UTC (rev 1603)
@@ -1,6 +1,6 @@
 #!/bin/sh -e
 
-update-alternatives --install /usr/bin/unison-gtk unison-gtk /usr/bin/@UNISON_GTK@ @PRIORITY@ \
-  --slave /usr/share/man/man1/unison-gtk.1.gz unison-gtk.1.gz /usr/share/man/man1/@UNISON_GTK at .1.gz 
+update-alternatives --install /usr/bin/unison-gtk unison-gtk /usr/bin/@UNISON_GTK_ALTERNATIVE@ @PRIORITY@ \
+  --slave /usr/share/man/man1/unison-gtk.1.gz unison-gtk.1.gz /usr/share/man/man1/@UNISON_GTK_ALTERNATIVE at .1.gz 
 
 #DEBHELPER#

Added: trunk/packages/unison/trunk/debian/unison-gtk.preinst.in
===================================================================
--- trunk/packages/unison/trunk/debian/unison-gtk.preinst.in	2005-08-14 00:32:55 UTC (rev 1602)
+++ trunk/packages/unison/trunk/debian/unison-gtk.preinst.in	2005-08-14 15:28:57 UTC (rev 1603)
@@ -0,0 +1,12 @@
+#!/bin/sh -e 
+
+case "$1" in
+  upgrade)
+    if dpkg --compare-versions "$2" lt "2.13.16-1" && dpkg --compare-versions "$2" ge "2.10.2-1"; then
+      echo "Deleting alternatives to unison2.10.2-gtk"
+      update-alternatives --remove unison-gtk /usr/bin/unison2.10.2-gtk
+    fi
+  ;;
+esac
+
+#DEBHELPER#

Modified: trunk/packages/unison/trunk/debian/unison-gtk.prerm.in
===================================================================
--- trunk/packages/unison/trunk/debian/unison-gtk.prerm.in	2005-08-14 00:32:55 UTC (rev 1602)
+++ trunk/packages/unison/trunk/debian/unison-gtk.prerm.in	2005-08-14 15:28:57 UTC (rev 1603)
@@ -1,7 +1,7 @@
 #!/bin/sh -e
 
-if [ "$1" = "remove" ]; then
-	update-alternatives --remove unison-gtk /usr/bin/@UNISON_GTK@
+if [ "$1" = "remove" ];  then
+	update-alternatives --remove unison-gtk /usr/bin/@UNISON_GTK_ALTERNATIVE@
 fi
 
 #DEBHELPER#

Modified: trunk/packages/unison/trunk/debian/unison.dirs.in
===================================================================
--- trunk/packages/unison/trunk/debian/unison.dirs.in	2005-08-14 00:32:55 UTC (rev 1602)
+++ trunk/packages/unison/trunk/debian/unison.dirs.in	2005-08-14 15:28:57 UTC (rev 1603)
@@ -1 +1,2 @@
 usr/bin
+usr/share/man/man1

Modified: trunk/packages/unison/trunk/debian/unison.postinst.in
===================================================================
--- trunk/packages/unison/trunk/debian/unison.postinst.in	2005-08-14 00:32:55 UTC (rev 1602)
+++ trunk/packages/unison/trunk/debian/unison.postinst.in	2005-08-14 15:28:57 UTC (rev 1603)
@@ -1,6 +1,6 @@
 #!/bin/sh -e
 
-update-alternatives --install /usr/bin/unison unison /usr/bin/@UNISON@ @PRIORITY@ \
-  --slave /usr/share/man/man1/unison.1.gz unison.1.gz /usr/share/man/man1/@UNISON at .1.gz 
+update-alternatives --install /usr/bin/unison unison /usr/bin/@UNISON_ALTERNATIVE@ @PRIORITY@ \
+  --slave /usr/share/man/man1/unison.1.gz unison.1.gz /usr/share/man/man1/@UNISON_ALTERNATIVE at .1.gz 
 
 #DEBHELPER#

Added: trunk/packages/unison/trunk/debian/unison.preinst.in
===================================================================
--- trunk/packages/unison/trunk/debian/unison.preinst.in	2005-08-14 00:32:55 UTC (rev 1602)
+++ trunk/packages/unison/trunk/debian/unison.preinst.in	2005-08-14 15:28:57 UTC (rev 1603)
@@ -0,0 +1,12 @@
+#!/bin/sh -e 
+
+case "$1" in
+  upgrade)
+    if dpkg --compare-versions "$2" lt "2.13.16-1" && dpkg --compare-versions "$2" ge "2.10.2-1"; then
+      echo "Deleting alternatives to unison2.10.2"
+      update-alternatives --remove unison /usr/bin/unison2.10.2
+    fi
+  ;;
+esac
+
+#DEBHELPER#

Modified: trunk/packages/unison/trunk/debian/unison.prerm.in
===================================================================
--- trunk/packages/unison/trunk/debian/unison.prerm.in	2005-08-14 00:32:55 UTC (rev 1602)
+++ trunk/packages/unison/trunk/debian/unison.prerm.in	2005-08-14 15:28:57 UTC (rev 1603)
@@ -1,7 +1,7 @@
 #!/bin/sh -e
 
 if [ "$1" = "remove" ]; then
-	update-alternatives --remove unison /usr/bin/@UNISON@
+	update-alternatives --remove unison /usr/bin/@UNISON_ALTERNATIVE@
 fi
 
 #DEBHELPER#




More information about the Pkg-ocaml-maint-commits mailing list