Package: libmtp
Version: 0.3.7-3
Severity: important
Tags: patch

Hi I'm providing a patch (derived from Ubuntu) that:
- Installs rules directly instead of a link.
- Uses /lib/udev/rules.d (As mentioned in /etc/udev/rules.d/README, it is 
  preferred for packages to use /lib/udev/rules.d)
- Move conf files of older versions to the new path, so that they are 
  preserved.

-- System Information:
Debian Release: 5.0
  APT prefers jaunty-updates
  APT policy: (500, 'jaunty-updates'), (500, 'jaunty-security'), (500, 'jaunty')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.28-11-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
reverted:
--- libmtp-0.3.7/debian/libmtp.links.in
+++ libmtp-0.3.7.orig/debian/libmtp.links.in
@@ -1 +0,0 @@
-etc/udev/lib...@soversion@.rules etc/udev/rules.d/lib...@soversion@.rules
diff -u libmtp-0.3.7/debian/control libmtp-0.3.7/debian/control
--- libmtp-0.3.7/debian/control
+++ libmtp-0.3.7/debian/control
@@ -13,6 +13,7 @@
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Recommends: ${udev}
+Breaks: udev (<< 136-1)
 Description: Media Transfer Protocol (MTP) library
  libmtp is a library for communicating with MTP aware devices in POSIX
  compliant operating systems.  It implements MTP Basic, the subset
diff -u libmtp-0.3.7/debian/libmtp.preinst.in 
libmtp-0.3.7/debian/libmtp.preinst.in
--- libmtp-0.3.7/debian/libmtp.preinst.in
+++ libmtp-0.3.7/debian/libmtp.preinst.in
@@ -25,12 +25,39 @@
     fi
 }
 
+# Prepare to move a conffile without triggering a dpkg question
+prep_mv_conffile() {
+    PKGNAME="$1"
+    CONFFILE="$2"
+    if [ -e "$CONFFILE" ]; then
+        md5sum="`md5sum \"$CONFFILE\" | sed -e \"s/ .*//\"`"
+        old_md5sum="`dpkg-query -W -f='${Conffiles}' $PKGNAME | sed -n -e 
\"\\\\' $CONFFILE '{s/ obsolete$//;s/.* //p}\"`"
+        if [ "$md5sum" = "$old_md5sum" ]; then
+            rm -f "$CONFFILE"
+        fi
+    fi
+}
+
 case "$1" in
 install|upgrade)
     if dpkg --compare-versions "$2" le 0.2.5-1 ; then
         rm_conffile $PACKAGE /etc/hotplug/usb/$PACKAGE.usermap
         rm_conffile $PACKAGE /etc/hotplug/usb/$PACKAGE.sh
     fi
+    if dpkg --compare-versions "$2" le 0.3.7-3 ; then
+       rm -f /etc/udev/rules.d/lib...@soversion@.rules
+       prep_mv_conffile $PACKAGE /etc/udev/lib...@soversion@.rules
+    if [ -e "/etc/udev/rules.d/45-libmtp8.rules" ]; then
+               if [ "`md5sum \"/etc/udev/rules.d/45-libmtp8.rules\" | sed -e 
\"s/ .*//\"`" = \
+                    "`dpkg-query -W -f='${Conffiles}' $PACKAGE | sed -n -e 
\"\\\\' /etc/udev/rules.d/45-libmtp8.rules's/.* //p\"`" ]
+               then
+                       rm -f "/etc/udev/rules.d/45-libmtp8.rules"
+               fi
+       fi
+        rm -f /etc/udev/libmtp.rules
+        rm -f /etc/udev/lib...@soversion@.rules
+    fi
+
 esac
 
 #DEBHELPER#
diff -u libmtp-0.3.7/debian/rules libmtp-0.3.7/debian/rules
--- libmtp-0.3.7/debian/rules
+++ libmtp-0.3.7/debian/rules
@@ -9,9 +9,9 @@
 SOVERSION = 8
 SUBSTFILES = debian/libmtp$(SOVERSION).docs    \
        debian/libmtp$(SOVERSION).install       \
-       debian/libmtp$(SOVERSION).links         \
-       debian/libmtp$(SOVERSION).preinst
-UDEVFILES = libmtp$(SOVERSION).rules 20-libmtp$(SOVERSION).fdi
+       debian/libmtp$(SOVERSION).preinst       \
+       debian/libmtp$(SOVERSION).postinst
+UDEVFILES = 45-libmtp$(SOVERSION).rules 20-libmtp$(SOVERSION).fdi
 
 debdir = $(CURDIR)/debian
 debver = $(shell perl -ne '/([\d.-]+)/;print "$$1"; last' \
diff -u libmtp-0.3.7/debian/changelog libmtp-0.3.7/debian/changelog
--- libmtp-0.3.7/debian/changelog
+++ libmtp-0.3.7/debian/changelog
@@ -1,3 +1,17 @@
+libmtp (0.3.7-3.1) karmic; urgency=low
+
+  * Non-maintainer upload. Changes are taken from Ubuntu and based on patches 
+    by Flávio Martins, Martin Pitt and Scott James Remnant.
+  * debian/control: Add Breaks to ensure the right udev version gets used.
+  * debian/libmtp.install.in, debian/libmtp.preinst.in, 
+    debian/libmtp.postinst.in: Clean up the mess where files were still going 
+    into the wrong directory.
+  * debian/rules: Append proper prefix 45- to libmtp rules in UDEV variable
+  * debian/libmtp.install.in: ../../45-lib...@soversion@.rules lib/udev/rules.d
+  * Removed libmtp.links.in - Install rules directly instead of a link.
+
+ -- Savvas Radevic <vice...@gmail.com>  Sat, 18 Apr 2009 19:58:14 +0100
+
 libmtp (0.3.7-3) unstable; urgency=low
 
   * debian/control.in:
diff -u libmtp-0.3.7/debian/libmtp.install.in 
libmtp-0.3.7/debian/libmtp.install.in
--- libmtp-0.3.7/debian/libmtp.install.in
+++ libmtp-0.3.7/debian/libmtp.install.in
@@ -2,2 +2,2 @@
-../../lib...@soversion@.rules etc/udev
 ../../20-lib...@soversion@.fdi usr/share/hal/fdi/information/20thirdparty
+../../45-lib...@soversion@.rules lib/udev/rules.d
only in patch2:
unchanged:
--- libmtp-0.3.7.orig/debian/libmtp.postinst.in
+++ libmtp-0.3.7/debian/libmtp.postinst.in
@@ -0,0 +1,30 @@
+#!/bin/sh
+# preinst script for libmtp
+
+set -e
+
+package=lib...@soversion@
+
+# Move a conffile without triggering a dpkg question
+mv_conffile() {
+    OLDCONFFILE="$1"
+    NEWCONFFILE="$2"
+    if [ -e "$OLDCONFFILE" ]; then
+        echo "Preserving user changes to $NEWCONFFILE ..."
+        mv -f "$NEWCONFFILE" "$NEWCONFFILE".dpkg-new
+        mv -f "$OLDCONFFILE" "$NEWCONFFILE"
+    fi
+}
+
+case "$1" in
+configure)
+    if dpkg --compare-versions "$2" lt-nl 0.3.7-3 ; then
+        mv_conffile /etc/udev/lib...@soversion@.rules \
+                   /etc/udev/rules.d/45-lib...@soversion@.rules
+    fi
+
+esac
+
+#DEBHELPER#
+
+exit 0

Reply via email to