Create grub-<platform>-bin packages corresponding to all grub-<platform>

packages (except for grub-emu).  These do not automatically install the
boot loader or update grub.cfg, and they install their binaries to
/usr/lib/grub/<cpu>-<platform>/; this means that can be installed in
parallel, making it easier to use them to build GRUB-based disk images
(e.g. d-i).  The grub-<platform> packages now depend on these and
include symlinks, so their behaviour will remain as before.
This commit is contained in:
Colin Watson 2011-05-15 16:42:15 +01:00
parent a88163c705
commit b88ffb1af1
10 changed files with 204 additions and 52 deletions

7
debian/changelog vendored
View File

@ -76,6 +76,13 @@ grub2 (1.99~rc2-1) UNRELEASED; urgency=low
/etc/grub.d/* files.
* Drop redundant Suggests: os-prober from several platform packages, as
grub-common already Recommends: os-prober.
* Create grub-<platform>-bin packages corresponding to all grub-<platform>
packages (except for grub-emu). These do not automatically install the
boot loader or update grub.cfg, and they install their binaries to
/usr/lib/grub/<cpu>-<platform>/; this means that can be installed in
parallel, making it easier to use them to build GRUB-based disk images
(e.g. d-i). The grub-<platform> packages now depend on these and
include symlinks, so their behaviour will remain as before.
[ Updated translations ]
* Belarusian (Viktar Siarheichyk). Closes: #606864

145
debian/control vendored
View File

@ -102,10 +102,36 @@ Description: GRand Unified Bootloader, version 2 (emulated version)
This package contains grub-emu, an emulated version of GRUB. It is only
provided for debugging purposes.
Package: grub-pc-bin
Priority: optional
Architecture: any-i386 any-amd64
Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version})
Replaces: grub2 (<< ${source:Version}), grub-common (<= 1.96+20080413-1), grub-pc (<< 1.99~rc2-1)
Suggests: desktop-base (>= 4.0.6)
Multi-Arch: foreign
Description: GRand Unified Bootloader, version 2 (PC/BIOS binaries)
GRUB is a portable, powerful bootloader. This version of GRUB is based on a
cleaner design than its predecessors, and provides the following new features:
.
- Scripting in grub.cfg using BASH-like syntax.
- Support for modern partition maps such as GPT.
- Modular generation of grub.cfg via update-grub. Packages providing GRUB
add-ons can plug in their own script rules and trigger updates by invoking
update-grub2.
- VESA-based graphical mode with background image support and complete 24-bit
color set.
- Support for extended charsets. Users can write UTF-8 text to their menu
entries.
.
This package contains a version of GRUB that has been built for use with
traditional PC/BIOS architecture. It will not automatically install GRUB
as the active boot loader, nor will it automatically update grub.cfg on
upgrade, so most people should install grub-pc instead.
Package: grub-pc
Priority: optional
Architecture: any-i386 any-amd64
Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), ucf, freebsd-utils (>= 8.0-4) [kfreebsd-any]
Depends: ${shlibs:Depends}, ${misc:Depends}, grub-pc-bin (= ${binary:Version}), ucf, freebsd-utils (>= 8.0-4) [kfreebsd-any]
Replaces: grub, grub-legacy, grub2 (<< ${source:Version}), grub-common (<= 1.96+20080413-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
Multi-Arch: foreign
@ -138,9 +164,30 @@ Description: GRUB bootable rescue images, version 2 (PC/BIOS version)
- grub-rescue-cdrom.iso: El Torito CDROM image.
- grub-rescue-usb.img: USB image.
Package: grub-coreboot-bin
Architecture: any-i386 any-amd64
Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version})
Replaces: grub2 (<< ${source:Version}), grub-common (<= 1.96+20080413-1), grub-linuxbios, grub-coreboot (<< 1.99~rc2-1)
Conflicts: grub-linuxbios (<< ${source:Version})
Multi-Arch: foreign
Description: GRand Unified Bootloader, version 2 (Coreboot binaries)
GRUB is a portable, powerful bootloader. This version of GRUB is based on a
cleaner design than its predecessors, and provides the following new features:
.
- Scripting in grub.cfg using BASH-like syntax.
- Support for modern partition maps such as GPT.
- Modular generation of grub.cfg via update-grub. Packages providing GRUB
add-ons can plug in their own script rules and trigger updates by invoking
update-grub2.
.
This package contains a version of GRUB that has been built for use with
platforms running the Coreboot firmware. It will not automatically install
GRUB as the active boot loader, nor will it automatically update grub.cfg
on upgrade, so most people should install grub-coreboot instead.
Package: grub-coreboot
Architecture: any-i386 any-amd64
Depends: ${shlibs:Depends}, grub2-common (= ${binary:Version}), ${misc:Depends}, ucf
Depends: ${shlibs:Depends}, ${misc:Depends}, grub-coreboot-bin (= ${binary:Version}), ucf
Replaces: grub-legacy, grub2 (<< ${source:Version}), grub-common (<= 1.96+20080413-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
Multi-Arch: foreign
@ -157,9 +204,30 @@ Description: GRand Unified Bootloader, version 2 (Coreboot version)
This package contains a version of GRUB that has been built for use with
platforms running the Coreboot firmware.
Package: grub-efi-ia32-bin
Architecture: any-i386 any-amd64
Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), efibootmgr [i386 amd64]
Replaces: grub2 (<< ${source:Version}), grub-common (<= 1.96+20080413-1), grub-efi, grub-efi-ia32 (<< 1.99~rc2-1)
Multi-Arch: foreign
Description: GRand Unified Bootloader, version 2 (EFI-IA32 binaries)
GRUB is a portable, powerful bootloader. This version of GRUB is based on a
cleaner design than its predecessors, and provides the following new features:
.
- Scripting in grub.cfg using BASH-like syntax.
- Support for modern partition maps such as GPT.
- Modular generation of grub.cfg via update-grub. Packages providing GRUB
add-ons can plug in their own script rules and trigger updates by invoking
update-grub2.
.
This package contains a version of GRUB that has been built for use with
EFI-IA32 architecture, such as the one provided by Intel Macs (that is, unless
a BIOS interface has been activated). It will not automatically install
GRUB as the active boot loader, nor will it automatically update grub.cfg
on upgrade, so most people should install grub-efi-ia32 instead.
Package: grub-efi-ia32
Architecture: any-i386 any-amd64
Depends: ${shlibs:Depends}, grub2-common (= ${binary:Version}), ${misc:Depends}, ucf, efibootmgr [i386 amd64]
Depends: ${shlibs:Depends}, ${misc:Depends}, grub-efi-ia32-bin (= ${binary:Version}), ucf
Replaces: grub, grub-legacy, grub2 (<< ${source:Version}), grub-common (<= 1.96+20080413-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
Multi-Arch: foreign
@ -177,9 +245,30 @@ Description: GRand Unified Bootloader, version 2 (EFI-IA32 version)
EFI-IA32 architecture, such as the one provided by Intel Macs (that is, unless
a BIOS interface has been activated).
Package: grub-efi-amd64-bin
Architecture: i386 kopensolaris-i386 any-amd64
Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), efibootmgr [i386 amd64]
Replaces: grub2 (<< ${source:Version}), grub-common (<= 1.96+20080413-1), grub-efi-amd64 (<< 1.99~rc2-1)
Multi-Arch: foreign
Description: GRand Unified Bootloader, version 2 (EFI-AMD64 binaries)
GRUB is a portable, powerful bootloader. This version of GRUB is based on a
cleaner design than its predecessors, and provides the following new features:
.
- Scripting in grub.cfg using BASH-like syntax.
- Support for modern partition maps such as GPT.
- Modular generation of grub.cfg via update-grub. Packages providing GRUB
add-ons can plug in their own script rules and trigger updates by invoking
update-grub2.
.
This package contains a version of GRUB that has been built for use with
EFI-AMD64 architecture, such as the one provided by Intel Macs (that is, unless
a BIOS interface has been activated). It will not automatically install
GRUB as the active boot loader, nor will it automatically update grub.cfg
on upgrade, so most people should install grub-efi-amd64 instead.
Package: grub-efi-amd64
Architecture: i386 kopensolaris-i386 any-amd64
Depends: ${shlibs:Depends}, grub2-common (= ${binary:Version}), ${misc:Depends}, ucf, efibootmgr [i386 amd64]
Depends: ${shlibs:Depends}, ${misc:Depends}, grub-efi-amd64-bin (= ${binary:Version}), ucf
Replaces: grub, grub-legacy, grub2 (<< ${source:Version}), grub-common (<= 1.96+20080413-1), grub-pc, grub-efi-ia32, grub-coreboot, grub-ieee1275
Conflicts: grub, grub-legacy, grub-efi-ia32, grub-pc, grub-coreboot, grub-ieee1275
Multi-Arch: foreign
@ -209,13 +298,33 @@ Description: GRUB bootable rescue images, version 2 (EFI-AMD64 version)
- grub-rescue-cdrom.iso: El Torito CDROM image.
- grub-rescue-usb.img: USB image.
Package: grub-ieee1275-bin
Architecture: any-i386 any-amd64 any-powerpc any-ppc64 any-sparc
Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}),
powerpc-ibm-utils [any-powerpc any-ppc64], powerpc-utils [any-powerpc any-ppc64], bc [any-powerpc any-ppc64]
Replaces: grub2 (<< ${source:Version}), grub-common (<= 1.96+20080413-1), grub-ieee1275 (<< 1.99~rc2-1)
Suggests: genisoimage [any-powerpc any-ppc64]
Multi-Arch: foreign
Description: GRand Unified Bootloader, version 2 (Open Firmware binaries)
GRUB is a portable, powerful bootloader. This version of GRUB is based on a
cleaner design than its predecessors, and provides the following new features:
.
- Scripting in grub.cfg using BASH-like syntax.
- Support for modern partition maps such as GPT.
- Modular generation of grub.cfg via update-grub. Packages providing GRUB
add-ons can plug in their own script rules and trigger updates by invoking
update-grub2.
.
This package contains a version of GRUB that has been built for use with
Open Firmware implementations. It will not automatically install GRUB as
the active boot loader, nor will it automatically update grub.cfg on
upgrade, so most people should install grub-ieee1275 instead.
Package: grub-ieee1275
Architecture: any-i386 any-amd64 any-powerpc any-ppc64 any-sparc
Depends: ${shlibs:Depends}, grub2-common (= ${binary:Version}),
powerpc-ibm-utils [any-powerpc any-ppc64], powerpc-utils [any-powerpc any-ppc64], bc [any-powerpc any-ppc64], ${misc:Depends}, ucf
Depends: ${shlibs:Depends}, ${misc:Depends}, grub-ieee1275-bin (= ${binary:Version}), ucf
Replaces: grub-legacy, grub2 (<< ${source:Version}), grub-common (<= 1.96+20080413-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
Suggests: genisoimage [any-powerpc any-ppc64]
Multi-Arch: foreign
Description: GRand Unified Bootloader, version 2 (Open Firmware version)
GRUB is a portable, powerful bootloader. This version of GRUB is based on a
@ -249,9 +358,29 @@ Description: GRUB firmware image for QEMU
you want to install GRUB as firmware on real hardware, you need to use the
grub-coreboot package, and manually combine that with coreboot.
Package: grub-yeeloong-bin
Architecture: any-mipsel
Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version})
Replaces: grub-common (<< 1.98+20100617-2), grub-yeeloong (<< 1.99~rc2-1)
Multi-Arch: foreign
Description: GRand Unified Bootloader, version 2 (Yeeloong binaries)
GRUB is a portable, powerful bootloader. This version of GRUB is based on a
cleaner design than its predecessors, and provides the following new features:
.
- Scripting in grub.cfg using BASH-like syntax.
- Support for modern partition maps such as GPT.
- Modular generation of grub.cfg via update-grub. Packages providing GRUB
add-ons can plug in their own script rules and trigger updates by invoking
update-grub2.
.
This package contains a version of GRUB that has been built for use with
the Lemote Yeeloong laptop. It will not automatically install GRUB as the
active boot loader, nor will it automatically update grub.cfg on upgrade,
so most people should install grub-yeeloong instead.
Package: grub-yeeloong
Architecture: any-mipsel
Depends: ${shlibs:Depends}, grub2-common (= ${binary:Version}), ${misc:Depends}, ucf
Depends: ${shlibs:Depends}, ${misc:Depends}, grub-yeeloong-bin (= ${binary:Version}), ucf
Replaces: grub-common (<< 1.98+20100617-2)
Multi-Arch: foreign
Description: GRand Unified Bootloader, version 2 (Yeeloong version)

2
debian/grub-pc-bin.install.in vendored Normal file
View File

@ -0,0 +1,2 @@
usr/bin/grub-ntldr-img usr/lib/grub/@CPU_PLATFORM@
usr/sbin/grub-setup usr/lib/grub/@CPU_PLATFORM@

View File

@ -1,6 +1,4 @@
../../debian/legacy/update-grub usr/lib/grub-legacy
../../debian/legacy/upgrade-from-grub-legacy usr/sbin
usr/bin/grub-ntldr-img
usr/sbin/grub-setup
usr/share/man/man8/grub-setup.8

2
debian/grub-pc.links.in vendored Normal file
View File

@ -0,0 +1,2 @@
usr/lib/grub/@CPU_PLATFORM@/grub-ntldr-img usr/bin/grub-ntldr-img
usr/lib/grub/@CPU_PLATFORM@/grub-setup usr/sbin/grub-setup

View File

@ -1,3 +1,4 @@
../../debian/default usr/share/grub
../../debian/update-grub usr/sbin
usr/sbin/grub-reboot

6
debian/install-bin.in vendored Normal file
View File

@ -0,0 +1,6 @@
../../debian/presubj usr/share/bug/@PACKAGE@
../../debian/script usr/share/bug/@PACKAGE@
usr/lib/grub/@CPU_PLATFORM@/
usr/sbin/grub-install usr/lib/grub/@CPU_PLATFORM@
usr/sbin/grub-mknetdir usr/lib/grub/@CPU_PLATFORM@

4
debian/install.in vendored
View File

@ -1,11 +1,7 @@
../../debian/presubj usr/share/bug/@PACKAGE@
../../debian/script usr/share/bug/@PACKAGE@
../../debian/default usr/share/grub
../../debian/kernel/zz-update-grub etc/kernel/postinst.d
../../debian/kernel/zz-update-grub etc/kernel/postrm.d
usr/lib/grub/*-*/
usr/sbin/grub-install
usr/sbin/grub-mknetdir
usr/share/man/man8/grub-install.8
usr/share/man/man8/grub-mknetdir.8

2
debian/links.in vendored Normal file
View File

@ -0,0 +1,2 @@
usr/lib/grub/@CPU_PLATFORM@/grub-install usr/sbin/grub-install
usr/lib/grub/@CPU_PLATFORM@/grub-mknetdir usr/sbin/grub-mknetdir

85
debian/rules vendored
View File

@ -34,7 +34,7 @@ export GRUB_CONTRIB := $(CURDIR)/debian/grub-extras
confflags = PACKAGE_VERSION="$(deb_version)" PACKAGE_STRING="GRUB $(deb_version)" CC=$(CC) TARGET_CC=$(CC) --enable-grub-mkfont
AUTOGEN_DEB_FILES = examples config templates preinst postinst postrm dirs install
AUTOGEN_DEB_FILES = examples config templates preinst postinst postrm dirs install links
BUILD_PACKAGES := $(strip $(shell dh_listpackages))
REAL_PACKAGES = grub-emu grub-pc grub-coreboot grub-efi-ia32 grub-efi-amd64 grub-ieee1275 grub-firmware-qemu grub-yeeloong
@ -68,6 +68,8 @@ build/stamps/build-%: package = $(subst build/stamps/build-,,$@)
build/stamps/build-%: export DH_OPTIONS = -p$(package) -Bbuild/$(package)
install/%: package = $(subst install/,,$@)
install/%: package_bin = $(package)-bin
install/grub-emu: package_bin = grub-emu
install/%: export DH_OPTIONS = -p$(package) -Bbuild/$(patsubst grub-common,grub-$(COMMON_PLATFORM),$(package))
override_dh_quilt_patch:
@ -181,55 +183,60 @@ build/stamps/build-grub-rescue-efi-amd64: build/stamps/build-grub-efi-amd64
$(CURDIR)/build/grub-rescue-efi-amd64/rescue-disk
touch $@
platform_subst = \
if [ -e debian/$(1) ]; then \
sed debian/$(1) \
-e "s/@PACKAGE@/$(2)/g" \
-e "s/@CPU_PLATFORM@/$$cpu_platform/g" \
>> debian/$(2).$(3); \
fi
install/grub-pc install/grub-efi-ia32 install/grub-efi-amd64 install/grub-ieee1275 install/grub-coreboot install/grub-emu install/grub-yeeloong:
dh_auto_install --destdir=debian/tmp-$(package)
if [ "$@" != "install/grub-emu" ] ; then \
set -e ; for i in $(AUTOGEN_DEB_FILES) ; do \
sed debian/$$i.in \
-e "s/@PACKAGE@/$(package)/g" \
> debian/$(package).$$i ; \
if [ -e debian/$(package).$$i.in ] ; then \
sed debian/$(package).$$i.in \
-e "s/@PACKAGE@/$(package)/g" \
>> debian/$(package).$$i ; \
fi ; \
if [ -e debian/$(package).$$i.$(DEB_HOST_ARCH).in ] ; then \
sed debian/$(package).$$i.$(DEB_HOST_ARCH).in \
-e "s/@PACKAGE@/$(package)/g" \
>> debian/$(package).$$i ; \
fi ; \
if [ -e debian/$(package).$$i.$(DEB_HOST_ARCH_OS).in ] ; then \
sed debian/$(package).$$i.$(DEB_HOST_ARCH_OS).in \
-e "s/@PACKAGE@/$(package)/g" \
>> debian/$(package).$$i ; \
fi ; \
set -e ; \
cpu_platform=$$(find debian/tmp-$(package)/usr/lib/grub \
-mindepth 1 -maxdepth 1 -type d -printf '%P\n') ; \
for i in $(AUTOGEN_DEB_FILES) ; do \
> debian/$(package).$$i; \
$(call platform_subst,$$i.in,$(package),$$i); \
$(call platform_subst,$(package).$$i.in,$(package),$$i); \
$(call platform_subst,$(package).$$i.$(DEB_HOST_ARCH).in,$(package),$$i); \
$(call platform_subst,$(package).$$i.$(DEB_HOST_ARCH_OS).in,$(package),$$i); \
[ -s debian/$(package).$$i ] || rm -f debian/$(package).$$i; \
> debian/$(package_bin).$$i; \
$(call platform_subst,$$i-bin.in,$(package_bin),$$i); \
$(call platform_subst,$(package_bin).$$i.in,$(package_bin),$$i); \
$(call platform_subst,$(package_bin).$$i.$(DEB_HOST_ARCH).in,$(package_bin),$$i); \
$(call platform_subst,$(package_bin).$$i.$(DEB_HOST_ARCH_OS).in,$(package_bin),$$i); \
[ -s debian/$(package_bin).$$i ] || rm -f debian/$(package_bin).$$i; \
done ; \
fi
mkdir -p $(CURDIR)/debian/$(package)/usr/share/lintian/overrides
echo "$(package): unstripped-binary-or-object *.mod" \
>> $(CURDIR)/debian/$(package)/usr/share/lintian/overrides/$(package)
cd $(CURDIR)/debian/$(package) && find usr/lib/grub -name kernel.img \
| sed -e "s%.*%$(package): statically-linked-binary &%g" \
>> $(CURDIR)/debian/$(package)/usr/share/lintian/overrides/$(package)
cd $(CURDIR)/debian/$(package) && find usr/lib/grub -name kernel.img \
| sed -e "s%.*%$(package): unstripped-binary-or-object &%g" \
>> $(CURDIR)/debian/$(package)/usr/share/lintian/overrides/$(package)
mkdir -p $(CURDIR)/debian/$(package_bin)/usr/share/lintian/overrides
echo "$(package_bin): unstripped-binary-or-object *.mod" \
>> $(CURDIR)/debian/$(package_bin)/usr/share/lintian/overrides/$(package_bin)
cd debian/tmp-$(package) && find usr/lib/grub -name kernel.img \
| sed -e "s%.*%$(package_bin): statically-linked-binary &%g" \
>> $(CURDIR)/debian/$(package_bin)/usr/share/lintian/overrides/$(package_bin)
cd debian/tmp-$(package) && find usr/lib/grub -name kernel.img \
| sed -e "s%.*%$(package_bin): unstripped-binary-or-object &%g" \
>> $(CURDIR)/debian/$(package_bin)/usr/share/lintian/overrides/$(package_bin)
if [ "$@" = "install/grub-efi-amd64" ] && [ "$(DEB_HOST_ARCH_CPU)" = "i386" ] ; then \
echo "$(package): binary-from-other-architecture *.mod" \
>> $(CURDIR)/debian/$(package)/usr/share/lintian/overrides/$(package) ; \
cd $(CURDIR)/debian/$(package) && find usr/lib/grub -name kernel.img \
| sed -e "s%.*%$(package): binary-from-other-architecture &%g" \
>> $(CURDIR)/debian/$(package)/usr/share/lintian/overrides/$(package) ; \
echo "$(package_bin): binary-from-other-architecture *.mod" \
>> $(CURDIR)/debian/$(package_bin)/usr/share/lintian/overrides/$(package_bin) ; \
cd debian/tmp-$(package) && find usr/lib/grub -name kernel.img \
| sed -e "s%.*%$(package_bin): binary-from-other-architecture &%g" \
>> $(CURDIR)/debian/$(package_bin)/usr/share/lintian/overrides/$(package_bin) ; \
fi
if ([ "$@" = "install/grub-pc" ] || \
[ "$@" = "install/grub-ieee1275" ] || \
[ "$@" = "install/grub-coreboot" ] || \
[ "$@" = "install/grub-emu" ]) && \
[ "$(DEB_HOST_ARCH_CPU)" = "i386" ] ; then \
echo "$(package): binary-from-other-architecture *efiemu64.o" \
>> $(CURDIR)/debian/$(package)/usr/share/lintian/overrides/$(package) ; \
echo "$(package_bin): binary-from-other-architecture *efiemu64.o" \
>> $(CURDIR)/debian/$(package_bin)/usr/share/lintian/overrides/$(package_bin) ; \
fi
install/grub-common:
@ -254,9 +261,11 @@ override_dh_install:
dh_install -p$$package --sourcedir=debian/tmp-grub-$(COMMON_PLATFORM); \
done
rm -f debian/grub2-common/usr/share/info/dir*
set -e; for package in grub-pc grub-efi-ia32 grub-efi-amd64 grub-ieee1275 grub-coreboot grub-emu grub-yeeloong; do \
set -e; for package in grub-pc grub-efi-ia32 grub-efi-amd64 grub-ieee1275 grub-coreboot grub-yeeloong; do \
dh_install -p$$package --sourcedir=debian/tmp-$$package; \
dh_install -p$$package-bin --sourcedir=debian/tmp-$$package; \
done
dh_install -pgrub-emu --sourcedir=debian/tmp-grub-emu
override_dh_installdocs:
dh_installdocs -A AUTHORS NEWS README THANKS TODO
@ -274,7 +283,7 @@ override_dh_clean: debian/legacy/update-grub debian/grub-extras
chmod +x debian/{script,grub.d/*,legacy/*,kernel/*}
for i in $(AUTOGEN_DEB_FILES) ; do \
rm -f debian/grub-{pc,efi-*,ieee1275,coreboot,yeeloong}.$$i ; \
rm -f debian/grub-{pc,efi-*,ieee1275,coreboot,yeeloong}{,-bin}.$$i ; \
done
rm -rf debian/tmp-*/