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

X Strike Force Xft SVN commit: rev 92 - trunk/debian



Author: branden
Date: 2003-11-17 03:10:23 -0500 (Mon, 17 Nov 2003)
New Revision: 92

Modified:
   trunk/debian/changelog
   trunk/debian/libxft-dev.postrm
   trunk/debian/libxft-dev.preinst
Log:
In the pre-installation script, only remove diversions from old
libxft2-dev package if that package has those diversions; dpkg-divert will
barf if you try to remove a nonexistent diversion when a different package
is diverting the same file.  This enables libxft-dev to be upgraded from
the previous version, and installed over the same version.

(cosmetic) Add comments and break lines at 80 columns.

- debian/libxft-dev.preinst
- debian/libxft-dev.postrm


Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2003-11-17 07:26:21 UTC (rev 91)
+++ trunk/debian/changelog	2003-11-17 08:10:23 UTC (rev 92)
@@ -38,8 +38,15 @@
     - debian/rules
     - debian/control: drop build-dependency on chrpath
 
- -- Branden Robinson <branden@debian.org>  Mon, 17 Nov 2003 02:25:45 -0500
+  * In the pre-installation script, only remove diversions from old
+    libxft2-dev package if that package has those diversions; dpkg-divert will
+    barf if you try to remove a nonexistent diversion when a different package
+    is diverting the same file.  This enables libxft-dev to be upgraded from
+    the previous version, and installed over the same version.
+    - debian/libxft-dev.preinst
 
+ -- Branden Robinson <branden@debian.org>  Mon, 17 Nov 2003 03:07:41 -0500
+
 xft (2.1.2-4) unstable; urgency=low
 
   * Set AM_MAINTAINER_MODE because we do not want users of the Debian source

Modified: trunk/debian/libxft-dev.postrm
===================================================================
--- trunk/debian/libxft-dev.postrm	2003-11-17 07:26:21 UTC (rev 91)
+++ trunk/debian/libxft-dev.postrm	2003-11-17 08:10:23 UTC (rev 92)
@@ -8,9 +8,11 @@
 
 set -e
 
-if [ remove = "$1" ]; then
+if [ "$1" = "remove" ]; then
+    # Remove the diversions created by this package's pre-installation script.
     dpkg-divert --package libxft-dev --remove --rename \
-        --divert /usr/X11R6/include/X11/Xft/Xft1.h /usr/X11R6/include/X11/Xft/Xft.h
+        --divert /usr/X11R6/include/X11/Xft/Xft1.h \
+        /usr/X11R6/include/X11/Xft/Xft.h
     dpkg-divert --package libxft-dev --remove --rename \
         --divert /usr/X11R6/lib/libXft1.a /usr/X11R6/lib/libXft.a
     dpkg-divert --package libxft-dev --remove --rename \

Modified: trunk/debian/libxft-dev.preinst
===================================================================
--- trunk/debian/libxft-dev.preinst	2003-11-17 07:26:21 UTC (rev 91)
+++ trunk/debian/libxft-dev.preinst	2003-11-17 08:10:23 UTC (rev 92)
@@ -9,20 +9,42 @@
 set -e
 
 if [ "$1" = "install" -o "$1" = "upgrade" ]; then
-    # remove any diversions created by previous name of this package
-    dpkg-divert --package libxft2-dev --remove --rename \
-        --divert /usr/X11R6/include/X11/Xft/Xft1.h /usr/X11R6/include/X11/Xft/Xft.h
-    dpkg-divert --package libxft2-dev --remove --rename \
-        --divert /usr/X11R6/lib/libXft1.a /usr/X11R6/lib/libXft.a
-    dpkg-divert --package libxft2-dev --remove --rename \
-        --divert /usr/X11R6/lib/libXft1.so /usr/X11R6/lib/libXft.so
-    # This diversion dates back to libxft2-dev << 2.1.1, but we have no way of
-    # knowing what version of a different package was on the system.
-    dpkg-divert --package libxft2-dev --remove --rename \
-        --divert /usr/X11R6/include/X11/Xft/XftFreetype1.h /usr/X11R6/include/X11/Xft/XftFreetype.h
 
+    # Remove any diversions still present that were created by the previous
+    # name of this package.
+    if dpkg-divert --list /usr/X11R6/include/X11/Xft/Xft.h | \
+        grep '\<libxft2-dev$'; then
+        dpkg-divert --package libxft2-dev --remove --rename \
+            --divert /usr/X11R6/include/X11/Xft/Xft1.h \
+            /usr/X11R6/include/X11/Xft/Xft.h
+    fi
+
+    if dpkg-divert --list /usr/X11R6/lib/libXft.a | \
+        grep '\<libxft2-dev$'; then
+        dpkg-divert --package libxft2-dev --remove --rename \
+            --divert /usr/X11R6/lib/libXft1.a /usr/X11R6/lib/libXft.a
+    fi
+
+    if dpkg-divert --list /usr/X11R6/lib/libXft.so | \
+        grep '\<libxft2-dev$'; then
+        dpkg-divert --package libxft2-dev --remove --rename \
+            --divert /usr/X11R6/lib/libXft1.so /usr/X11R6/lib/libXft.so
+    fi
+
+    # The following diversion dates back to libxft2-dev << 2.1.1, but we have
+    # no way of knowing what version of a different package was on the system.
+    if dpkg-divert --list /usr/X11R6/include/X11/Xft/XftFreetype.h | \
+        grep '\<libxft2-dev$'; then
+        dpkg-divert --package libxft2-dev --remove --rename \
+            --divert /usr/X11R6/include/X11/Xft/XftFreetype1.h \
+            /usr/X11R6/include/X11/Xft/XftFreetype.h
+    fi
+
+    # Add diversions for this package.  These can go away when we can conflict
+    # with "xlibs-dev (<< 4.3.0)".
     dpkg-divert --package libxft-dev --add --rename \
-        --divert /usr/X11R6/include/X11/Xft/Xft1.h /usr/X11R6/include/X11/Xft/Xft.h
+        --divert /usr/X11R6/include/X11/Xft/Xft1.h \
+        /usr/X11R6/include/X11/Xft/Xft.h
     dpkg-divert --package libxft-dev --add --rename \
         --divert /usr/X11R6/lib/libXft1.a /usr/X11R6/lib/libXft.a
     dpkg-divert --package libxft-dev --add --rename \



Reply to: