]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blob - debian/rules.d/5-udebs.mk
UBUNTU: [Debian] generate a SRCPKGNAME-udebs-FLAVOUR-di depending on all built udebs
[mirror_ubuntu-zesty-kernel.git] / debian / rules.d / 5-udebs.mk
1 # Do udebs if not disabled in the arch-specific makefile
2 binary-udebs: binary-debs
3 @echo Debug: $@
4 ifeq ($(disable_d_i),)
5 @$(MAKE) --no-print-directory -f $(DROOT)/rules DEBIAN=$(DEBIAN) \
6 do-binary-udebs
7 endif
8
9 do-binary-udebs: debian/control
10 @echo Debug: $@
11 dh_testdir
12 dh_testroot
13
14 # unpack the kernels into a temporary directory
15 mkdir -p debian/d-i-${arch}
16
17 imagelist=$$(cat $(builddir)/kernel-versions | grep ^${arch} | awk '{print $$4}') && \
18 for i in $$imagelist; do \
19 dpkg -x $$(ls ../linux-image-$$i\_$(release)-$(revision)_${arch}.deb) \
20 debian/d-i-${arch}; \
21 if [ -f ../linux-image-extra-$$i\_$(release)-$(revision)_${arch}.deb ] ; then \
22 dpkg -x ../linux-image-extra-$$i\_$(release)-$(revision)_${arch}.deb \
23 debian/d-i-${arch}; \
24 fi; \
25 /sbin/depmod -b debian/d-i-${arch} $$i; \
26 done
27
28 # kernel-wedge will error if no modules unless this is touched
29 touch $(CURDIR)/debian/build/no-modules
30
31 touch ignore-dups
32 export SOURCEDIR=$(CURDIR)/debian/d-i-${arch} && \
33 cd $(builddir) && \
34 kernel-wedge install-files && \
35 kernel-wedge check
36
37 # Build just the udebs
38 dilist=$$(dh_listpackages -s | grep "\-di$$") && \
39 [ -z "$dilist" ] || \
40 for i in $$dilist; do \
41 dh_fixperms -p$$i; \
42 $(lockme) dh_gencontrol -p$$i; \
43 dh_builddeb -p$$i; \
44 done
45
46 # Generate the meta-udeb dependancy lists.
47 awk ' \
48 /Package: / { package=$$2 } \
49 (/Package-Type: udeb/ && package !~ /^'$(src_pkg_name)'-udebs-/) { \
50 n = split(package, bits, "-"); \
51 flavour = bits[n - 1]; \
52 udebs[flavour] = udebs[flavour] package ", "; \
53 } \
54 END { \
55 for (flavour in udebs) { \
56 package="'$(src_pkg_name)'-udebs-" flavour; \
57 file="debian/" package ".substvars"; \
58 print("udeb:Depends=" udebs[flavour]) > file; \
59 metas="'$(builddir)'/udeb-meta-packages"; \
60 print(package) >metas \
61 } \
62 } \
63 ' <$(CURDIR)/debian/control
64 while read i; do \
65 $(lockme) dh_gencontrol -p$$i; \
66 dh_builddeb -p$$i; \
67 done <$(builddir)/udeb-meta-packages