File: rules.real

package info (click to toggle)
linux-signed-arm64 6.18.5%2B1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,600 kB
  • sloc: sh: 295; makefile: 16
file content (103 lines) | stat: -rw-r--r-- 3,493 bytes parent folder | download | duplicates (2)
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
include /usr/share/dpkg/default.mk

SHELL := bash -e

include debian/rules.defs

export DH_OPTIONS

export DEB_RULES_REQUIRES_ROOT ?= no

GENCONTROL_ARGS := -v6.18.5-1
BUILDDEB_ARGS := -Zxz $(if $(filter pkg.linux.quick,$(DEB_BUILD_PROFILES)),-z0)

packages_enabled := $(shell dh_listpackages)
define if_package
$(if $(filter $(1),$(packages_enabled)),$(2))
endef

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),
		$(foreach p,$(packages_enabled),DH_OPTIONS= dh_link -p$(p) usr/share/doc/$(INSTALLDOCS_LINK_DOC) usr/share/doc/$(p);),
		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)/
ifeq ($(ENABLE_DTB),True)
	rsync -a $(addprefix /lib/modules/$(REAL_VERSION)/,dtb) \
		$(INSTALL_DIR)/lib/modules/$(REAL_VERSION)/
endif
	$(stamp)

build_image:

binary_image: DH_INSTALL_ARGS = --sourcedir=$(BUILD_DIR)/install_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
binary_image: DH_STRIP_ARGS = --no-automatic-dbgsym
binary_image: $(STAMPS_DIR)/install_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
binary_image:
	$(dh_binary_pre)
	$(dh_binary_post)

binary_image-di: DH_INSTALL_ARGS = --sourcedir=$(BUILD_DIR)/install_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
binary_image-di: $(STAMPS_DIR)/install_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
binary_image-di:
	$(dh_binary_pre)
	$(dh_binary_post)

build_meta:

binary_meta:
	$(dh_binary_pre)
	$(dh_binary_post)

.PHONY: build_% binary_%