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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 \