summaryrefslogtreecommitdiffstats
path: root/debian/signing_templates/rules.real
blob: f617dbe00435d3df387f4a65483155639212b0e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
include /usr/share/dpkg/default.mk

SHELL := bash -e

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)

define dh_binary_pre
	dh_testroot
	dh_prep
	dh_installdirs
endef

define dh_binary_post
	dh_install $(DH_INSTALL_ARGS)
	dh_installdocs $(if $(INSTALLDOCS_LINK_DOC),--link-doc=$(INSTALLDOCS_LINK_DOC))
	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_makeshlibs
	dh_shlibdeps $(DH_SHLIBDEPS_ARGS)
	dh_installdeb
	dh_gencontrol -- $(GENCONTROL_ARGS)
	dh_md5sums
	dh_builddeb -- $(BUILDDEB_ARGS)
endef

build-indep:

build_image:

binary_image: DH_OPTIONS = -p$(PACKAGE_NAME)
binary_image: KERNEL_VERSION = $(ABINAME)$(LOCALVERSION)
binary_image: IMAGE_PACKAGE_NAME = linux-image-$(KERNEL_VERSION)-unsigned
binary_image: PACKAGE_DIR = debian/$(PACKAGE_NAME)
binary_image: SIGNATURE_DIR = debian/signatures/$(IMAGE_PACKAGE_NAME)
binary_image:
	$(dh_binary_pre)
	mkdir -p $(PACKAGE_DIR)/boot
	rsync -a $(patsubst %,/boot/%-$(KERNEL_VERSION),config System.map $(IMAGE_INSTALL_STEM)) \
		$(PACKAGE_DIR)/boot/
	sbattach --attach $(SIGNATURE_DIR)/boot/vmlinuz-$(KERNEL_VERSION).sig \
		$(PACKAGE_DIR)/boot/vmlinuz-$(KERNEL_VERSION)
	mkdir -p $(PACKAGE_DIR)/lib/modules/$(KERNEL_VERSION)
	rsync -a $(addprefix /lib/modules/$(KERNEL_VERSION)/,kernel modules.builtin modules.builtin.modinfo modules.order) \
		$(PACKAGE_DIR)/lib/modules/$(KERNEL_VERSION)/
# Copy any device tree files
	if [ -d /usr/lib/linux-image-$(KERNEL_VERSION) ]; then \
		mkdir -p $(PACKAGE_DIR)/usr/lib/linux-image-$(KERNEL_VERSION); \
		rsync -a /usr/lib/linux-image-$(KERNEL_VERSION)/ \
			$(PACKAGE_DIR)/usr/lib/linux-image-$(KERNEL_VERSION)/; \
	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)

build_installer:

binary_installer: REAL_VERSION = $(ABINAME)$(LOCALVERSION)
binary_installer: export KW_DEFCONFIG_DIR=debian/installer
binary_installer: export KW_CONFIG_DIR=debian/installer
# XXX No make dependency exists for this directory
binary_installer: export SOURCEDIR = debian/linux-image-$(REAL_VERSION)
binary_installer: DH_OPTIONS_IMAGE = -p$(IMAGE_PACKAGE_NAME) --sourcedir=$(SOURCEDIR)
binary_installer:
	$(dh_binary_pre)
	DH_OPTIONS="$(DH_OPTIONS_IMAGE)" dh_install boot/$(IMAGE_INSTALL_STEM)-$(REAL_VERSION)
	DH_OPTIONS="$(DH_OPTIONS_IMAGE)" dh_install lib/modules/$(REAL_VERSION)/modules.builtin
	DH_OPTIONS="$(DH_OPTIONS_IMAGE)" dh_install lib/modules/$(REAL_VERSION)/modules.order
ifneq ($(filter arm64 armel armhf mipsel mips64el mipsr6 mipsr6el mips64r6 mips64r6el riscv64,$(ARCH)),)
	DH_OPTIONS="$(DH_OPTIONS_IMAGE)" dh_install usr/lib/linux-image-$(REAL_VERSION)
endif
	kernel-wedge copy-modules $(ABINAME) $(FLAVOUR) $(REAL_VERSION)
	kernel-wedge find-dups $(REAL_VERSION)
	kernel-wedge find-unpackaged $(REAL_VERSION) $(REAL_VERSION)
	kernel-wedge check $$(dh_listpackages)
	dh_fixperms
	dh_gencontrol -- $(GENCONTROL_ARGS)
	dh_builddeb -- $(BUILDDEB_ARGS)

.PHONY: build_% binary_%