summaryrefslogtreecommitdiff
path: root/autoscripts
diff options
context:
space:
mode:
authorjoeyh <joeyh>2007-04-12 19:41:09 +0000
committerjoeyh <joeyh>2007-04-12 19:41:09 +0000
commite34e7479d1aa03f163b90829ae7d4f859371ed0e (patch)
tree85ec552985e43eec4bd232f30e1802a74a015403 /autoscripts
parent82503fc6043fe416aad6e3e131d7bec4373835e0 (diff)
r1984: * dh_installudev: Install udev rules directly into /etc/udev/rules.d/, not
using the symlinks. MD has agreed that this is more appropriate for most packages. * That fixes the longstanding bug that the symlink was only made on brand new installs of the package, rather than on upgrade to the first version that includes the udev rules file. Closes: #359614 * dh_installudev: Add preinst and postinst code to handle cleanly moving the rules file to the new location on upgrade. * This would be a good time for the many packages that manage rules files w/o using dh_installudev to begin to use it..
Diffstat (limited to 'autoscripts')
-rw-r--r--autoscripts/postinst-udev10
-rw-r--r--autoscripts/postrm-udev5
-rw-r--r--autoscripts/preinst-udev12
3 files changed, 20 insertions, 7 deletions
diff --git a/autoscripts/postinst-udev b/autoscripts/postinst-udev
index efb84d1c..cbf8dbe4 100644
--- a/autoscripts/postinst-udev
+++ b/autoscripts/postinst-udev
@@ -1,3 +1,9 @@
-if [ "$1" = configure -a -z "$2" ]; then
- ln -sf ../#FILE# /etc/udev/rules.d/#PRIO##FILE#
+if [ "$1" = configure ]; then
+ if [ -e /etc/udev/#FILE# ]; then
+ echo "Preserving user changes to /etc/udev/rules.d/#PRIO##FILE# ..."
+ if [ -e /etc/udev/rules.d/#PRIO##FILE# ]; then
+ mv -f /etc/udev/rules.d/#PRIO##FILE# /etc/udev/rules.d/#PRIO##FILE#.dpkg-new
+ fi
+ mv -f /etc/udev/#FILE# /etc/udev/rules.d/#PRIO##FILE#
+ fi
fi
diff --git a/autoscripts/postrm-udev b/autoscripts/postrm-udev
deleted file mode 100644
index b0af6c01..00000000
--- a/autoscripts/postrm-udev
+++ /dev/null
@@ -1,5 +0,0 @@
-if [ "$1" = purge ]; then
- if [ -L /etc/udev/rules.d/#PRIO##FILE# ]; then
- rm /etc/udev/rules.d/#PRIO##FILE#
- fi
-fi
diff --git a/autoscripts/preinst-udev b/autoscripts/preinst-udev
new file mode 100644
index 00000000..9c63d191
--- /dev/null
+++ b/autoscripts/preinst-udev
@@ -0,0 +1,12 @@
+if [ "$1" = install ] || [ "$1" = upgrade ]; then
+ if [ -e /etc/udev/#FILE# ]; then
+ if [ "`md5sum \"/etc/udev/#FILE#\" | sed -e \"s/ .*//\"`" = \
+ "`sed -n -e \"/^Conffiles:/,/^[^ ]/{\\\\' /etc/udev/#FILE#'{s/.* //;p}}\" /var/lib/dpkg/status`" ]
+ then
+ rm -f /etc/udev/#FILE#
+ fi
+ fi
+ if [ -L /etc/udev/rules.d/#PRIO##FILE# ]; then
+ rm -f /etc/udev/rules.d/#PRIO##FILE#
+ fi
+fi