109 lines
4.0 KiB
Plaintext
109 lines
4.0 KiB
Plaintext
include /usr/share/dpkg/default.mk
|
|
|
|
SHELL := bash -e
|
|
|
|
include debian/rules.defs
|
|
|
|
export DH_OPTIONS
|
|
|
|
export DEB_RULES_REQUIRES_ROOT ?= no
|
|
|
|
GENCONTROL_ARGS := -v@signedtemplate_binaryversion@
|
|
BUILDDEB_ARGS := -Zxz $(if $(filter pkg.linux.quick,$(DEB_BUILD_PROFILES)),-z0)
|
|
|
|
stamp = [ -d $(dir $@) ] || mkdir $(dir $@); touch $@
|
|
|
|
define dh_binary_pre
|
|
dh_testroot
|
|
dh_prep
|
|
dh_installdirs
|
|
endef
|
|
|
|
define dh_binary_post
|
|
dh_install $(DH_INSTALL_ARGS)
|
|
# Workaround #1068189. By Debian policy and aligned debhelper behaviour /usr/share/doc/package
|
|
# is permitted to be a symbolic link to another directory in /usr/share/doc only if the two
|
|
# packages come from the same source package. The package build will fail with the new debhelper
|
|
# version since debhelper/13.15. As the linux-signed-* packages are quite special in the eco-
|
|
# system, make the workaround to fallback to the old behaviour until it is agreed on how to
|
|
# resolve the situation policy conformant.
|
|
# https://www.debian.org/doc/debian-policy/ch-docs.html#copyright-information
|
|
$(if $(INSTALLDOCS_LINK_DOC),
|
|
mkdir -p debian/$(PACKAGE_NAME)/usr/share/doc && ln -sf $(INSTALLDOCS_LINK_DOC) debian/$(PACKAGE_NAME)/usr/share/doc/$(PACKAGE_NAME),
|
|
dh_installdocs)
|
|
dh_installchangelogs
|
|
dh_installexamples
|
|
dh_installman
|
|
dh_installudev
|
|
dh_bugfiles
|
|
dh_ucf
|
|
dh_lintian
|
|
dh_icons
|
|
dh_link
|
|
dh_compress
|
|
dh_fixperms
|
|
dh_missing
|
|
dh_strip $(DH_STRIP_ARGS) -Xvmlinux -Xvmlinuz
|
|
dh_makeshlibs -Xvmlinux -Xvmlinuz
|
|
dh_shlibdeps $(DH_SHLIBDEPS_ARGS)
|
|
dh_installdeb
|
|
if command -v dh_movetousr >/dev/null; then dh_movetousr; fi
|
|
dh_gencontrol -- $(GENCONTROL_ARGS)
|
|
dh_md5sums
|
|
dh_builddeb -- $(BUILDDEB_ARGS)
|
|
endef
|
|
|
|
build-indep:
|
|
|
|
$(STAMPS_DIR)/install_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REAL_VERSION = $(ABINAME)$(LOCALVERSION)
|
|
$(STAMPS_DIR)/install_$(ARCH)_$(FEATURESET)_$(FLAVOUR): IMAGE_PACKAGE_NAME = linux-image-$(REAL_VERSION)-unsigned
|
|
$(STAMPS_DIR)/install_$(ARCH)_$(FEATURESET)_$(FLAVOUR): SIGNATURE_DIR = debian/signatures/$(IMAGE_PACKAGE_NAME)
|
|
$(STAMPS_DIR)/install_$(ARCH)_$(FEATURESET)_$(FLAVOUR): INSTALL_DIR=$(BUILD_DIR)/install_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
|
$(STAMPS_DIR)/install_$(ARCH)_$(FEATURESET)_$(FLAVOUR):
|
|
mkdir -p $(INSTALL_DIR)/boot
|
|
rsync -a $(patsubst %,/boot/%-$(REAL_VERSION),config System.map $(IMAGE_INSTALL_STEM)) \
|
|
$(INSTALL_DIR)/boot/
|
|
sbattach --attach $(SIGNATURE_DIR)/boot/vmlinuz-$(REAL_VERSION).sig \
|
|
$(INSTALL_DIR)/boot/vmlinuz-$(REAL_VERSION)
|
|
mkdir -p $(INSTALL_DIR)/lib/modules/$(REAL_VERSION)
|
|
rsync -a $(addprefix /lib/modules/$(REAL_VERSION)/,kernel modules.builtin modules.builtin.modinfo modules.order) \
|
|
$(INSTALL_DIR)/lib/modules/$(REAL_VERSION)/
|
|
# Copy any device tree files
|
|
if [ -d /usr/lib/linux-image-$(REAL_VERSION) ]; then \
|
|
mkdir -p $(INSTALL_DIR)/usr/lib/linux-image-$(REAL_VERSION); \
|
|
rsync -a /usr/lib/linux-image-$(REAL_VERSION)/ \
|
|
$(INSTALL_DIR)/usr/lib/linux-image-$(REAL_VERSION)/; \
|
|
fi
|
|
$(stamp)
|
|
|
|
build_image:
|
|
|
|
binary_image: DH_OPTIONS = -p$(PACKAGE_NAME)
|
|
binary_image: DH_STRIP_ARGS = --no-automatic-dbgsym
|
|
binary_image: REAL_VERSION = $(ABINAME)$(LOCALVERSION)
|
|
binary_image: IMAGE_PACKAGE_NAME = linux-image-$(REAL_VERSION)-unsigned
|
|
binary_image: DIR2 = $(BUILD_DIR)/install_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
|
binary_image: PACKAGE_DIR = debian/$(PACKAGE_NAME)
|
|
binary_image: $(STAMPS_DIR)/install_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
|
binary_image:
|
|
$(dh_binary_pre)
|
|
dh_install --sourcedir=$(DIR2) boot
|
|
dh_install --sourcedir=$(DIR2) lib
|
|
if [ -d $(DIR2)/usr ]; then dh_install --sourcedir=$(DIR2) usr; fi
|
|
# Copy bug scripts but change the info file to refer to the right package
|
|
mkdir -p $(PACKAGE_DIR)/usr/share/bug/$(PACKAGE_NAME)
|
|
rsync -a /usr/share/bug/$(IMAGE_PACKAGE_NAME)/ \
|
|
$(PACKAGE_DIR)/usr/share/bug/$(PACKAGE_NAME)/
|
|
sed -i -e 's/^PACKAGE_NAME=.*/PACKAGE_NAME=$(PACKAGE_NAME)/' \
|
|
-e 's/^PACKAGE_VERSION=.*/PACKAGE_VERSION=$(PACKAGE_VERSION)/' \
|
|
$(PACKAGE_DIR)/usr/share/bug/$(PACKAGE_NAME)/info
|
|
$(dh_binary_post)
|
|
|
|
build_meta:
|
|
|
|
binary_meta:
|
|
$(dh_binary_pre)
|
|
$(dh_binary_post)
|
|
|
|
.PHONY: build_% binary_%
|