From 56ae7feae026cd2dacd3e092571b8cf02644646d Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Wed, 25 Nov 2015 11:37:44 -0800 Subject: [PATCH] Move more debinstall functionality over to use debhelper features instead --- debian/control | 2 +- debian/debinstall | 49 ++---------------------------------------- debian/refind.install | 14 ++++++++++++ debian/refind.links | 1 + debian/refind.manpages | 1 + debian/rules | 8 ++++++- 6 files changed, 26 insertions(+), 49 deletions(-) create mode 100644 debian/refind.install create mode 100644 debian/refind.links create mode 100644 debian/refind.manpages diff --git a/debian/control b/debian/control index 8eb3deb..3c130f3 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ Vcs-Git: git://anonscm.debian.org/collab-maint/refind.git Package: refind Architecture: amd64 i386 -Depends: efibootmgr, openssl, parted, sbsigntool, ${misc:Depends} +Depends: efibootmgr, openssl, parted, ${misc:Depends} Description: boot manager for EFI-based computers A graphical boot manager for EFI- and UEFI-based computers, such as all Intel-based Macs and recent (most 2011 and later) PCs. rEFInd presents a diff --git a/debian/debinstall b/debian/debinstall index dec30a6..47f7f36 100755 --- a/debian/debinstall +++ b/debian/debinstall @@ -1,7 +1,7 @@ #!/bin/bash +set -e BUILD_ROOT=$1 -KEYDIR=/mnt/refind UNAMEARCH=`uname -m` if [[ $UNAMEARCH == "x86_64" ]] ; then @@ -12,53 +12,8 @@ else EFIARCH=$UNAMEARCH fi -rm -rf $BUILD_ROOT mkdir -p $BUILD_ROOT/usr/share/refind/refind/ -# Copy the rEFInd binaries (rEFInd proper and drivers) to /usr/share/refind, -# including signing the binaries if sbsign is installed and a $KEYDIR/refind.key file -# is available -declare SBSign=`which sbsign 2> /dev/null` -if [[ -f $KEYDIR/refind.key && -x $SBSign ]] ; then - $SBSign --key $KEYDIR/refind.key --cert $KEYDIR/refind.crt --output $BUILD_ROOT/usr/share/refind/refind/refind_$EFIARCH.efi refind/refind_$EFIARCH.efi - mkdir -p $BUILD_ROOT/usr/share/refind/refind/drivers_$EFIARCH - for File in `ls drivers_$EFIARCH/*_$EFIARCH.efi` ; do - $SBSign --key $KEYDIR/refind.key --cert $KEYDIR/refind.crt --output $BUILD_ROOT/usr/share/refind/refind/$File $File - done - mkdir -p $BUILD_ROOT/usr/share/refind/refind/tools_$EFIARCH - $SBSign --key $KEYDIR/refind.key --cert $KEYDIR/refind.crt --output $BUILD_ROOT/usr/share/refind/refind/tools_$EFIARCH/gptsync_$EFIARCH.efi gptsync/gptsync_$EFIARCH.efi -else - install -Dp -m0644 refind/refind*.efi $BUILD_ROOT/usr/share/refind/refind/ - mkdir -p $BUILD_ROOT/usr/share/refind/refind/drivers_$EFIARCH - cp -a drivers_$EFIARCH/* $BUILD_ROOT/usr/share/refind/refind/drivers_$EFIARCH/ - mkdir -p $BUILD_ROOT/usr/share/refind/refind/tools_$EFIARCH - install -Dp -m0644 gptsync/gptsync_$EFIARCH.efi $BUILD_ROOT/usr/share/refind/refind/tools_$EFIARCH/gptsync_$EFIARCH.efi -fi - -# Copy configuration and support files to /usr/share/refind -install -Dp -m0644 refind.conf-sample $BUILD_ROOT/usr/share/refind/refind/ -cp -a icons $BUILD_ROOT/usr/share/refind/refind/ -rm -rf $BUILD_ROOT/usr/share/refind/refind/icons/svg -install -Dp -m0755 refind-install $BUILD_ROOT/usr/share/refind/ - -# Copy man pages to /usr/share/man/man8 -mkdir -p $BUILD_ROOT/usr/share/man/man8 -install -Dp -m0644 docs/man/mvrefind.8 $BUILD_ROOT/usr/share/man/man8 -install -Dp -m0644 docs/man/mkrlconf.8 $BUILD_ROOT/usr/share/man/man8 -install -Dp -m0644 docs/man/refind-install.8 $BUILD_ROOT/usr/share/man/man8 - -# Copy keys to /etc/refind.d/keys -mkdir -p $BUILD_ROOT/etc/refind.d/keys -install -Dp -m0644 keys/* $BUILD_ROOT/etc/refind.d/keys - -# Copy scripts to /usr/sbin -mkdir -p $BUILD_ROOT/usr/sbin -install -Dp -m0755 mkrlconf $BUILD_ROOT/usr/sbin/ -install -Dp -m0755 mvrefind $BUILD_ROOT/usr/sbin/ -ln -sr refind-install $BUILD_ROOT/usr/sbin - -# Copy banners and fonts to /usr/share/refind -cp -a banners $BUILD_ROOT/usr/share/refind/ -cp -a fonts $BUILD_ROOT/usr/share/refind/ +install -Dp -m0644 gptsync/gptsync_$EFIARCH.efi $BUILD_ROOT/usr/share/refind/refind/tools_$EFIARCH/gptsync_$EFIARCH.efi echo "*** Exiting debinstall! ***" diff --git a/debian/refind.install b/debian/refind.install new file mode 100644 index 0000000..bac49b2 --- /dev/null +++ b/debian/refind.install @@ -0,0 +1,14 @@ +drivers_* usr/share/refind/refind +icons usr/share/refind/refind +refind.conf-sample usr/share/refind/refind +refind/refind*.efi usr/share/refind/refind + +banners usr/share/refind +fonts usr/share/refind + +mkrlconf usr/sbin +mvrefind usr/sbin +refind-install usr/share/refind +# refind-install symlink is added to usr/sbin as well (see refind.links) + +keys etc/refind diff --git a/debian/refind.links b/debian/refind.links new file mode 100644 index 0000000..f12d564 --- /dev/null +++ b/debian/refind.links @@ -0,0 +1 @@ +usr/share/refind/refind-install usr/sbin/refind-install diff --git a/debian/refind.manpages b/debian/refind.manpages new file mode 100644 index 0000000..e229709 --- /dev/null +++ b/debian/refind.manpages @@ -0,0 +1 @@ +docs/man/* diff --git a/debian/rules b/debian/rules index 3020044..af060f9 100755 --- a/debian/rules +++ b/debian/rules @@ -7,14 +7,20 @@ export DH_VERBOSE := 1 override_dh_auto_clean: dh_auto_clean - rm -f drivers_*/* + rm -rf drivers_*/ override_dh_auto_build: $(MAKE) gnuefi $(MAKE) fs_gnuefi override_dh_auto_install: + # "make install" actually runs "efi-install" for the current system, so let's not do that :) ./debian/debinstall ./debian/refind +override_dh_install: + dh_install + rm -r debian/refind/usr/share/refind/refind/icons/svg # we don't want the SVGs installed + # TODO gptsync into tools_...? + override_dh_installchangelogs: dh_installchangelogs NEWS.txt -- 2.39.2