Invert how files are split among binary packages: rather than code in

debian/rules to remove files we don't want, add dh_install configuration
to declare the files we do want.  This means a little more repetition
for platform-specific programs, but it seems less confusing and easier
to extend.
This commit is contained in:
Colin Watson 2011-04-24 21:18:06 +01:00
parent 37dd98bd45
commit d487f29eda
16 changed files with 133 additions and 43 deletions

5
debian/changelog vendored
View File

@ -60,6 +60,11 @@ grub2 (1.99~rc2-1) UNRELEASED; urgency=low
reuse that. reuse that.
* Build with GCC 4.5 on all architectures. * Build with GCC 4.5 on all architectures.
* Update Lintian overrides for changes in Lintian 2.5.0~rc1. * Update Lintian overrides for changes in Lintian 2.5.0~rc1.
* Invert how files are split among binary packages: rather than code in
debian/rules to remove files we don't want, add dh_install configuration
to declare the files we do want. This means a little more repetition
for platform-specific programs, but it seems less confusing and easier
to extend.
[ Updated translations ] [ Updated translations ]
* Belarusian (Viktar Siarheichyk). Closes: #606864 * Belarusian (Viktar Siarheichyk). Closes: #606864

1
debian/clean vendored Normal file
View File

@ -0,0 +1 @@
debian/grub-common.install

View File

@ -1,2 +0,0 @@
debian/presubj usr/share/bug/grub-common
debian/apport/source_grub2.py usr/share/apport/package-hooks/

2
debian/grub-common.install.amd64.in vendored Normal file
View File

@ -0,0 +1,2 @@
usr/bin/grub-mkrescue
usr/share/man/man1/grub-mkrescue.1

2
debian/grub-common.install.i386.in vendored Normal file
View File

@ -0,0 +1,2 @@
usr/bin/grub-mkrescue
usr/share/man/man1/grub-mkrescue.1

37
debian/grub-common.install.in vendored Normal file
View File

@ -0,0 +1,37 @@
../../debian/presubj usr/share/bug/grub-common
../../debian/apport/source_grub2.py usr/share/apport/package-hooks/
etc/bash_completion.d
etc/grub.d
usr/bin/grub-bin2h
usr/bin/grub-editenv
usr/bin/grub-fstest
usr/bin/grub-kbdcomp
usr/bin/grub-menulst2cfg
usr/bin/grub-mkfont
usr/bin/grub-mkimage
usr/bin/grub-mklayout
usr/bin/grub-mkpasswd-pbkdf2
usr/bin/grub-mkrelpath
usr/bin/grub-script-check
usr/lib/grub/grub-mkconfig_lib
usr/lib/grub/update-grub_lib
usr/sbin/grub-mkconfig
usr/sbin/grub-mkdevicemap
usr/sbin/grub-probe
usr/share/grub
usr/share/info
usr/share/locale
usr/share/man/man1/grub-bin2h.1
usr/share/man/man1/grub-editenv.1
usr/share/man/man1/grub-fstest.1
usr/share/man/man1/grub-menulst2cfg.1
usr/share/man/man1/grub-mkfont.1
usr/share/man/man1/grub-mkimage.1
usr/share/man/man1/grub-mklayout.1
usr/share/man/man1/grub-mkpasswd-pbkdf2.1
usr/share/man/man1/grub-mkrelpath.1
usr/share/man/man1/grub-script-check.1
usr/share/man/man8/grub-mkconfig.8
usr/share/man/man8/grub-mkdevicemap.8
usr/share/man/man8/grub-probe.8

2
debian/grub-common.install.linux.in vendored Normal file
View File

@ -0,0 +1,2 @@
usr/bin/grub-mount
usr/share/man/man1/grub-mount.1

2
debian/grub-common.install.powerpc.in vendored Normal file
View File

@ -0,0 +1,2 @@
usr/bin/grub-mkrescue
usr/share/man/man1/grub-mkrescue.1

2
debian/grub-common.install.ppc64.in vendored Normal file
View File

@ -0,0 +1,2 @@
usr/bin/grub-mkrescue
usr/share/man/man1/grub-mkrescue.1

4
debian/grub-common.install.sparc.in vendored Normal file
View File

@ -0,0 +1,4 @@
usr/bin/grub-mkrescue
usr/sbin/grub-ofpathname
usr/share/man/man1/grub-mkrescue.1
usr/share/man/man8/grub-ofpathname.8

4
debian/grub-emu.install vendored Normal file
View File

@ -0,0 +1,4 @@
usr/bin/grub-emu
usr/bin/grub-emu-lite
usr/lib/grub/*-*/
usr/share/man/man1/grub-emu.1

2
debian/grub-ieee1275.install.sparc.in vendored Normal file
View File

@ -0,0 +1,2 @@
usr/sbin/grub-setup
usr/share/man/man8/grub-setup.8

1
debian/grub-mount-udeb.install vendored Normal file
View File

@ -0,0 +1 @@
usr/bin/grub-mount

View File

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

24
debian/install.in vendored
View File

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

78
debian/rules vendored
View File

@ -6,6 +6,8 @@ upstream_version := $(shell echo $(deb_version) | sed -e "s/-[^-]*$$//")
package := grub2 package := grub2
DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH 2>/dev/null)
DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2>/dev/null)
DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null) DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null)
HOST_CFLAGS := -g -Wall HOST_CFLAGS := -g -Wall
@ -35,7 +37,7 @@ confflags = PACKAGE_VERSION="$(deb_version)" PACKAGE_STRING="GRUB $(deb_version)
AUTOGEN_DEB_FILES = examples manpages config templates preinst postinst postrm dirs install links AUTOGEN_DEB_FILES = examples manpages config templates preinst postinst postrm dirs install links
BUILD_PACKAGES := $(strip $(shell dh_listpackages)) BUILD_PACKAGES := $(strip $(shell dh_listpackages))
REAL_PACKAGES = grub-common grub-emu grub-pc grub-coreboot grub-efi-ia32 grub-efi-amd64 grub-ieee1275 grub-firmware-qemu grub-yeeloong REAL_PACKAGES = grub-emu grub-pc grub-coreboot grub-efi-ia32 grub-efi-amd64 grub-ieee1275 grub-firmware-qemu grub-yeeloong
ifneq (,$(filter i386 amd64,$(DEB_HOST_ARCH_CPU))) ifneq (,$(filter i386 amd64,$(DEB_HOST_ARCH_CPU)))
COMMON_PLATFORM := pc COMMON_PLATFORM := pc
@ -50,9 +52,9 @@ endif
%: %:
dh $@ --with quilt dh $@ --with quilt
override_dh_auto_configure: $(patsubst %,configure/%,$(filter-out grub-common,$(BUILD_PACKAGES))) override_dh_auto_configure: $(patsubst %,configure/%,$(BUILD_PACKAGES))
override_dh_auto_build: $(patsubst %,build/%,$(filter-out grub-common,$(BUILD_PACKAGES))) override_dh_auto_build: $(patsubst %,build/%,$(BUILD_PACKAGES))
override_dh_auto_install: $(patsubst %,install/%,$(BUILD_PACKAGES)) override_dh_auto_install: $(patsubst %,install/%,$(BUILD_PACKAGES))
@ -180,33 +182,28 @@ build/stamps/build-grub-rescue-efi-amd64: build/stamps/build-grub-efi-amd64
touch $@ touch $@
install/grub-pc install/grub-efi-ia32 install/grub-efi-amd64 install/grub-ieee1275 install/grub-coreboot install/grub-emu install/grub-yeeloong: 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/$(package) dh_auto_install --destdir=debian/tmp-$(package)
# shipped with grub-common
rm -rf $(CURDIR)/debian/$(package)/etc/grub.d
rm -rf $(CURDIR)/debian/$(package)/etc/bash_completion.d
rm -f $(CURDIR)/debian/$(package)/usr/{sbin,share/man/man8}/{grub-dumpbios,grub-probe,grub-mkconfig,grub-mkdevicemap,grub-ofpathname}{,.8}
rm -f $(CURDIR)/debian/$(package)/usr/{bin,share/man/man1}/{grub-bin2h,grub-mkelfimage,grub-mkfont,grub-mkimage,grub-editenv,grub-mkrescue,grub-mkrelpath,grub-script-check,grub-mkpasswd-pbkdf2,grub-menulst2cfg,grub-mklayout,grub-kbdcomp,grub-fstest,grub-mount}{,.1}
rm -f $(CURDIR)/debian/$(package)/usr/lib/grub/{grub-mkconfig_lib,update-grub_lib}
rm -rf $(CURDIR)/debian/$(package)/usr/share/{grub,info,locale}/
rm -rf $(CURDIR)/debian/$(package)/usr/include
if [ "$@" = "install/grub-emu" ] ; then \
rm -f $(CURDIR)/debian/$(package)/usr/{sbin,share/man/man8}/{grub-reboot,grub-set-default,grub-mknetdir}{,.8} ; \
fi
if [ "$@" != "install/grub-emu" ] ; then \ if [ "$@" != "install/grub-emu" ] ; then \
for i in $(AUTOGEN_DEB_FILES) ; do \ set -e ; for i in $(AUTOGEN_DEB_FILES) ; do \
sed debian/$$i.in \ sed debian/$$i.in \
-e "s/@PACKAGE@/$(package)/g" \ -e "s/@PACKAGE@/$(package)/g" \
> debian/$(package).$$i ; \ > debian/$(package).$$i ; \
done ; \ if [ -e debian/$(package).$$i.in ] ; then \
fi sed debian/$(package).$$i.in \
-e "s/@PACKAGE@/$(package)/g" \
# grub-pc is a bit special. It includes a few overlays for autogen files. >> debian/$(package).$$i ; \
if [ "$@" = "install/grub-pc" ] ; then \ fi ; \
for i in templates install dirs ; do \ if [ -e debian/$(package).$$i.$(DEB_HOST_ARCH).in ] ; then \
cat debian/grub-pc.$$i.in >> debian/grub-pc.$$i ; \ 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 ; \
done ; \ done ; \
fi fi
@ -236,14 +233,30 @@ install/grub-pc install/grub-efi-ia32 install/grub-efi-amd64 install/grub-ieee12
fi fi
install/grub-common: install/grub-common:
dh_auto_install --destdir=debian/$(package) set -e ; for i in $(AUTOGEN_DEB_FILES) ; do \
rm -rf $(CURDIR)/debian/$(package)/usr/lib/grub/{i386,powerpc,sparc64,mips}-* if [ -e debian/grub-common.$$i.in ] ; then \
rm -f $(CURDIR)/debian/$(package)/usr/{sbin,share/man/man8}/{update-grub,grub-install,grub-setup,grub-reboot,grub-set-default,grub-mknetdir}{,.8} cat debian/grub-common.$$i.in \
rm -f $(CURDIR)/debian/$(package)/usr/{bin,share/man/man1}/grub-ntldr-img{,.1} > debian/grub-common.$$i ; \
rm -f $(CURDIR)/debian/$(package)/usr/share/info/dir* fi ; \
if [ -e debian/grub-common.$$i.$(DEB_HOST_ARCH).in ] ; then \
cat debian/grub-common.$$i.$(DEB_HOST_ARCH).in \
>> debian/grub-common.$$i ; \
fi ; \
if [ -e debian/grub-common.$$i.$(DEB_HOST_ARCH_OS).in ] ; then \
cat debian/grub-common.$$i.$(DEB_HOST_ARCH_OS).in \
>> debian/grub-common.$$i ; \
fi ; \
done
install/grub-mount-udeb: override_dh_install:
dh_install build/grub-$(COMMON_PLATFORM)/grub-mount usr/bin dh_install -pgrub2 -pgrub-linuxbios -pgrub-efi -pgrub-rescue-pc -pgrub-rescue-efi-amd64 -pgrub-firmware-qemu
set -e; for package in grub-common grub-mount-udeb; do \
dh_install -p$$package --sourcedir=debian/tmp-grub-$(COMMON_PLATFORM); \
done
rm -f debian/grub-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 \
dh_install -p$$package --sourcedir=debian/tmp-$$package; \
done
override_dh_installdocs: override_dh_installdocs:
dh_installdocs -A AUTHORS NEWS README THANKS TODO dh_installdocs -A AUTHORS NEWS README THANKS TODO
@ -263,6 +276,7 @@ override_dh_clean: debian/legacy/update-grub debian/grub-extras
for i in $(AUTOGEN_DEB_FILES) ; do \ 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}.$$i ; \
done done
rm -rf debian/tmp-*/
# make sure PO files are always up-to-date # make sure PO files are always up-to-date
debconf-updatepo debconf-updatepo