From 2c014745dd871d5d66de3ca80293e95f3935d33f Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Sat, 16 Jan 2016 22:11:02 +0000 Subject: [PATCH] Use dpkg-maintscript-helper to convert directories to symlinks in various upgrade cases, in place of hand-coded equivalents. --- debian/changelog | 2 ++ debian/control | 15 +++++++++++++++ debian/grub-efi.maintscript | 1 + debian/grub-efi.postinst | 19 ------------------- debian/grub-emu.maintscript.in | 1 + debian/grub-emu.postinst.in | 19 ------------------- debian/grub-linuxbios.maintscript | 1 + debian/grub-linuxbios.postinst | 19 ------------------- debian/grub2.maintscript | 1 + debian/grub2.postinst | 19 ------------------- debian/maintscript.in | 1 + debian/postinst.in | 9 --------- 12 files changed, 22 insertions(+), 85 deletions(-) create mode 100644 debian/grub-efi.maintscript delete mode 100644 debian/grub-efi.postinst create mode 100644 debian/grub-emu.maintscript.in delete mode 100644 debian/grub-emu.postinst.in create mode 100644 debian/grub-linuxbios.maintscript delete mode 100644 debian/grub-linuxbios.postinst create mode 100644 debian/grub2.maintscript delete mode 100644 debian/grub2.postinst create mode 100644 debian/maintscript.in diff --git a/debian/changelog b/debian/changelog index 3eb5b10be..71488c846 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,8 @@ grub2 (2.02~beta2-34) UNRELEASED; urgency=medium * Drop build-dependency on libusb-dev, since it was currently unused in any case; also explicitly configure with --disable-grub-emu-usb to avoid possible future ambiguity (closes: #810421). + * Use dpkg-maintscript-helper to convert directories to symlinks in + various upgrade cases, in place of hand-coded equivalents. [ Didier Roche ] * Use new plymouth theme path to set grub theme configuration. diff --git a/debian/control b/debian/control index e132bfe7c..f910a7f5c 100644 --- a/debian/control +++ b/debian/control @@ -42,6 +42,7 @@ Vcs-Browser: https://anonscm.debian.org/cgit/pkg-grub/grub.git Package: grub2 Section: oldlibs Architecture: any-i386 any-amd64 any-powerpc any-ppc64 any-ppc64el any-sparc any-sparc64 +Pre-Depends: ${misc:Pre-Depends} Depends: grub-pc (= ${binary:Version}) [any-i386 any-amd64] | grub-ieee1275 (= ${binary:Version}) [any-powerpc any-ppc64 any-ppc64el any-sparc any-sparc64], ${misc:Depends} Multi-Arch: foreign Description: GRand Unified Bootloader, version 2 (dummy package) @@ -51,6 +52,7 @@ Description: GRand Unified Bootloader, version 2 (dummy package) Package: grub-linuxbios Section: oldlibs Architecture: any-i386 any-amd64 +Pre-Depends: ${misc:Pre-Depends} Depends: grub-coreboot (= ${binary:Version}), ${misc:Depends} Multi-Arch: foreign Description: GRand Unified Bootloader, version 2 (dummy package) @@ -59,6 +61,7 @@ Description: GRand Unified Bootloader, version 2 (dummy package) Package: grub-efi Section: oldlibs Architecture: any-i386 any-amd64 +Pre-Depends: ${misc:Pre-Depends} Depends: ${misc:Depends}, grub-efi-ia32 (= ${binary:Version}) [any-i386], grub-efi-amd64 (= ${binary:Version}) [any-amd64] Multi-Arch: foreign Description: GRand Unified Bootloader, version 2 (dummy package) @@ -99,6 +102,7 @@ Description: GRand Unified Bootloader (common files for version 2) Package: grub-emu Architecture: any-i386 any-amd64 any-powerpc +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, grub-common (= ${binary:Version}) Replaces: grub-common (<= 1.97~beta3-1) Multi-Arch: foreign @@ -153,6 +157,7 @@ Description: GRand Unified Bootloader, version 2 (PC/BIOS debug files) Package: grub-pc Priority: optional Architecture: any-i386 any-amd64 +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), grub-pc-bin (= ${binary:Version}), ucf, freebsd-utils (>= 8.0-4) [kfreebsd-any], ${gfxpayload-depends} Replaces: grub, grub-legacy, grub2 (<< ${source:Version}), grub-common (<= 1.97~beta2-1), grub-efi-amd64, grub-efi-ia32, grub-coreboot, grub-ieee1275 Conflicts: grub (<< 0.97-54), grub-legacy, grub-efi-amd64, grub-efi-ia32, grub-coreboot, grub-ieee1275, grub-xen @@ -218,6 +223,7 @@ Description: GRand Unified Bootloader, version 2 (Coreboot debug files) Package: grub-coreboot Architecture: any-i386 any-amd64 +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), grub-coreboot-bin (= ${binary:Version}), ucf Replaces: grub-legacy, grub2 (<< ${source:Version}), grub-common (<= 1.97~beta2-1), grub-linuxbios, grub-efi-amd64, grub-efi-ia32, grub-pc, grub-ieee1275 Conflicts: grub (<< 0.97-54), grub-legacy, grub-linuxbios (<< ${source:Version}), grub-efi-amd64, grub-efi-ia32, grub-pc, grub-ieee1275, grub-xen @@ -267,6 +273,7 @@ Description: GRand Unified Bootloader, version 2 (EFI-IA32 debug files) Package: grub-efi-ia32 Architecture: any-i386 any-amd64 +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), grub-efi-ia32-bin (= ${binary:Version}), ucf Replaces: grub, grub-legacy, grub2 (<< ${source:Version}), grub-common (<= 1.97~beta2-1), grub-efi, grub-efi-amd64, grub-pc, grub-coreboot, grub-ieee1275 Conflicts: grub (<< 0.97-54), grub-legacy, grub-efi-amd64, grub-pc, grub-coreboot, grub-ieee1275, grub-xen, elilo @@ -317,6 +324,7 @@ Description: GRand Unified Bootloader, version 2 (EFI-AMD64 debug files) Package: grub-efi-amd64 Architecture: i386 kopensolaris-i386 any-amd64 +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), grub-efi-amd64-bin (= ${binary:Version}), ucf Replaces: grub, grub-legacy, grub2 (<< ${source:Version}), grub-common (<= 1.97~beta2-1), grub-pc, grub-efi-ia32, grub-coreboot, grub-ieee1275 Conflicts: grub, grub-legacy, grub-efi-ia32, grub-pc, grub-coreboot, grub-ieee1275, grub-xen, elilo @@ -365,6 +373,7 @@ Description: GRand Unified Bootloader, version 2 (IA64 debug files) Package: grub-efi-ia64 Architecture: any-ia64 +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), grub-efi-ia64-bin (= ${binary:Version}), ucf Conflicts: elilo Multi-Arch: foreign @@ -411,6 +420,7 @@ Description: GRand Unified Bootloader, version 2 (ARM UEFI debug files) Package: grub-efi-arm Architecture: any-arm +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), grub-efi-arm-bin (= ${binary:Version}), ucf Conflicts: grub-uboot Multi-Arch: foreign @@ -457,6 +467,7 @@ Description: GRand Unified Bootloader, version 2 (ARM64 UEFI debug files) Package: grub-efi-arm64 Architecture: any-arm64 +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), grub-efi-arm64-bin (= ${binary:Version}), ucf Multi-Arch: foreign Description: GRand Unified Bootloader, version 2 (ARM64 UEFI version) @@ -504,6 +515,7 @@ Description: GRand Unified Bootloader, version 2 (Open Firmware debug files) Package: grub-ieee1275 Architecture: any-i386 any-amd64 any-powerpc any-ppc64 any-ppc64el any-sparc any-sparc64 +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), grub-ieee1275-bin (= ${binary:Version}), ucf, powerpc-ibm-utils (>= 1.2.12-1) [any-powerpc any-ppc64 any-ppc64el], powerpc-utils [any-powerpc any-ppc64 any-ppc64el] Replaces: grub-legacy, grub2 (<< ${source:Version}), grub-common (<= 1.97~beta2-1), grub-efi-amd64, grub-efi-ia32, grub-coreboot, grub-pc Conflicts: grub (<< 0.97-54), grub-legacy, grub-efi-amd64, grub-efi-ia32, grub-coreboot, grub-pc, grub-xen @@ -570,6 +582,7 @@ Description: GRand Unified Bootloader, version 2 (ARM U-Boot debug files) Package: grub-uboot Architecture: any-arm +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), grub-uboot-bin (= ${binary:Version}), ucf Conflicts: grub-efi-arm Multi-Arch: foreign @@ -616,6 +629,7 @@ Description: GRand Unified Bootloader, version 2 (Xen debug files) Package: grub-xen Architecture: i386 amd64 +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), grub-xen-bin (= ${binary:Version}), ucf Conflicts: grub (<< 0.97-54), grub-legacy, grub-efi-amd64, grub-efi-ia32, grub-coreboot, grub-ieee1275, grub-pc Multi-Arch: foreign @@ -680,6 +694,7 @@ Description: GRand Unified Bootloader, version 2 (Yeeloong debug files) Package: grub-yeeloong Architecture: any-mipsel +Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), grub-yeeloong-bin (= ${binary:Version}), ucf Replaces: grub-common (<< 1.98+20100617-2) Multi-Arch: foreign diff --git a/debian/grub-efi.maintscript b/debian/grub-efi.maintscript new file mode 100644 index 000000000..ca801de53 --- /dev/null +++ b/debian/grub-efi.maintscript @@ -0,0 +1 @@ +dir_to_symlink /usr/share/doc/grub-efi grub-common 2.00-6~ diff --git a/debian/grub-efi.postinst b/debian/grub-efi.postinst deleted file mode 100644 index bbef6abe0..000000000 --- a/debian/grub-efi.postinst +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/sh -set -e - -case "$1" in - configure) - if dpkg --compare-versions "$2" lt-nl 2.00-6; then - # Force dpkg to replace this directory with a symlink. - if [ ! -L /usr/share/doc/grub-efi ] && [ -d /usr/share/doc/grub-efi ]; then - if rmdir /usr/share/doc/grub-efi 2>/dev/null; then - ln -sf grub-common /usr/share/doc/grub-efi - fi - fi - fi - ;; -esac - -#DEBHELPER# - -exit 0 diff --git a/debian/grub-emu.maintscript.in b/debian/grub-emu.maintscript.in new file mode 100644 index 000000000..57b680660 --- /dev/null +++ b/debian/grub-emu.maintscript.in @@ -0,0 +1 @@ +dir_to_symlink /usr/share/doc/@PACKAGE@ grub-common 2.00-2~ diff --git a/debian/grub-emu.postinst.in b/debian/grub-emu.postinst.in deleted file mode 100644 index 6c0446f1b..000000000 --- a/debian/grub-emu.postinst.in +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/sh -set -e - -case "$1" in - configure) - if dpkg --compare-versions "$2" lt-nl 2.00-2; then - # Force dpkg to replace this directory with a symlink. - if [ ! -L /usr/share/doc/@PACKAGE@ ] && [ -d /usr/share/doc/@PACKAGE@ ]; then - if rmdir /usr/share/doc/@PACKAGE@ 2>/dev/null; then - ln -sf grub-common /usr/share/doc/@PACKAGE@ - fi - fi - fi - ;; -esac - -#DEBHELPER# - -exit 0 diff --git a/debian/grub-linuxbios.maintscript b/debian/grub-linuxbios.maintscript new file mode 100644 index 000000000..c9e37fbaf --- /dev/null +++ b/debian/grub-linuxbios.maintscript @@ -0,0 +1 @@ +dir_to_symlink /usr/share/doc/grub-linuxbios grub-common 2.00-6~ diff --git a/debian/grub-linuxbios.postinst b/debian/grub-linuxbios.postinst deleted file mode 100644 index f800f1263..000000000 --- a/debian/grub-linuxbios.postinst +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/sh -set -e - -case "$1" in - configure) - if dpkg --compare-versions "$2" lt-nl 2.00-6; then - # Force dpkg to replace this directory with a symlink. - if [ ! -L /usr/share/doc/grub-linuxbios ] && [ -d /usr/share/doc/grub-linuxbios ]; then - if rmdir /usr/share/doc/grub-linuxbios 2>/dev/null; then - ln -sf grub-common /usr/share/doc/grub-linuxbios - fi - fi - fi - ;; -esac - -#DEBHELPER# - -exit 0 diff --git a/debian/grub2.maintscript b/debian/grub2.maintscript new file mode 100644 index 000000000..51b7f1d05 --- /dev/null +++ b/debian/grub2.maintscript @@ -0,0 +1 @@ +dir_to_symlink /usr/share/doc/grub2 grub-common 2.00-6~ diff --git a/debian/grub2.postinst b/debian/grub2.postinst deleted file mode 100644 index 321669cb7..000000000 --- a/debian/grub2.postinst +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/sh -set -e - -case "$1" in - configure) - if dpkg --compare-versions "$2" lt-nl 2.00-6; then - # Force dpkg to replace this directory with a symlink. - if [ ! -L /usr/share/doc/grub2 ] && [ -d /usr/share/doc/grub2 ]; then - if rmdir /usr/share/doc/grub2 2>/dev/null; then - ln -sf grub-common /usr/share/doc/grub2 - fi - fi - fi - ;; -esac - -#DEBHELPER# - -exit 0 diff --git a/debian/maintscript.in b/debian/maintscript.in new file mode 100644 index 000000000..199f5b0d8 --- /dev/null +++ b/debian/maintscript.in @@ -0,0 +1 @@ +dir_to_symlink /usr/share/doc/@PACKAGE@ grub-common 1.99-1~ diff --git a/debian/postinst.in b/debian/postinst.in index 0ea6fd4a5..f8a0ba4e4 100644 --- a/debian/postinst.in +++ b/debian/postinst.in @@ -311,15 +311,6 @@ case "$1" in configure) . /usr/share/debconf/confmodule - if dpkg --compare-versions "$2" lt-nl 1.99-1; then - # Force dpkg to replace this directory with a symlink. - if [ ! -L /usr/share/doc/@PACKAGE@ ] && [ -d /usr/share/doc/@PACKAGE@ ]; then - if rmdir /usr/share/doc/@PACKAGE@ 2>/dev/null; then - ln -sf grub-common /usr/share/doc/@PACKAGE@ - fi - fi - fi - devicemap_regenerated= if egrep -q '^[[:space:]]*post(inst|rm)_hook[[:space:]]*=[[:space:]]*(/sbin/|/usr/sbin/)?update-grub' /etc/kernel-img.conf 2>/dev/null; then