summaryrefslogtreecommitdiffstats
path: root/debian/zutils.preinst
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xdebian/zutils.preinst30
1 files changed, 28 insertions, 2 deletions
diff --git a/debian/zutils.preinst b/debian/zutils.preinst
index dde1340..61b5109 100755
--- a/debian/zutils.preinst
+++ b/debian/zutils.preinst
@@ -2,16 +2,42 @@
set -e
+# DEP17 M18: Duplicate diversion in aliased location /bin.
+
case "${1}" in
install)
for FILE in zcat zcmp zdiff zegrep zfgrep zgrep
do
- dpkg-divert --package zutils --quiet --add --rename --divert /bin/${FILE}.gzip /bin/${FILE}
+ dpkg-divert --package zutils --quiet --add --rename --divert "/usr/bin/$FILE.gzip" "/usr/bin/$FILE"
+ dpkg-divert --package zutils --quiet --add --rename --divert "/bin/$FILE.gzip.usr-is-merged" "/bin/$FILE"
dpkg-divert --package zutils --quiet --add --rename --divert /usr/share/man/man1/${FILE}.gzip.1.gz /usr/share/man/man1/${FILE}.1.gz
done
;;
- abort-upgrade|upgrade)
+ upgrade)
+ for FILE in zcat zcmp zdiff zegrep zfgrep zgrep
+ do
+ TRUENAME=$(dpkg-divert --truename "/usr/bin/$FILE")
+ if test "$TRUENAME" = "/usr/bin/$FILE.usr-is-merged"; then
+ # gzip.preinst duplicated the diversion for us
+ dpkg-divert --package zutils --quiet --remove --no-rename --divert "/usr/bin/$FILE.usr-is-merged" "/usr/bin/$FILE"
+ dpkg-divert --package zutils --quiet --remove --no-rename "/bin/$FILE"
+ dpkg-divert --package zutils --quiet --add --no-rename --divert "/usr/bin/$FILE.gzip" "/usr/bin/$FILE"
+ dpkg-divert --package zutils --quiet --add --no-rename --divert "/bin/$TOOL.gzip.usr-is-merged" "/bin/$TOOL"
+ elif test "$TRUENAME" != "/usr/bin/$FILE.gzip"; then
+ dpkg-divert --package zutils --quiet --add --no-rename --divert "/usr/bin/$FILE.gzip" "/usr/bin/$FILE"
+ TRUENAME=$(dpkg-divert --truename "/bin/$FILE")
+ if test "$TRUENAME" != "/bin/$FILE.gzip.usr-is-merged"; then
+ dpkg-divert --package zutils --quiet --remove --no-rename "/bin/$FILE"
+ dpkg-divert --package zutils --quiet --add --no-rename --divert "/bin/$FILE.gzip.usr-is-merged" "/bin/$FILE"
+ if test -e "$DPKG_ROOT$TRUENAME" -o -h "$DPKG_ROOT$TRUENAME"; then
+ mv "$DPKG_ROOT$TRUENAME" "$DPKG_ROOT/bin/$FILE.gzip.usr-is-merged"
+ fi
+ fi
+ fi
+ done
+ ;;
+ abort-upgrade)
;;