summaryrefslogtreecommitdiff
path: root/autoscripts
diff options
context:
space:
mode:
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