OLD | NEW |
(Empty) | |
| 1 #!/usr/bin/make -f |
| 2 # |
| 3 # $(DEBIAN)/rules for Ubuntu linux |
| 4 # |
| 5 # Use this however you want, just give credit where credit is due. |
| 6 # |
| 7 # Copyright (c) 2007 Ben Collins <bcollins@ubuntu.com> |
| 8 # |
| 9 |
| 10 ifeq ($(DEBIAN),) |
| 11 DEBIAN=debian.master |
| 12 endif |
| 13 |
| 14 # dpkg-buildpackage passes options that are incomptatible |
| 15 # with the kernel build. |
| 16 unexport CFLAGS |
| 17 unexport LDFLAGS |
| 18 |
| 19 # This is the debhelper compatability version to use. |
| 20 export DH_COMPAT=4 |
| 21 export LC_ALL=C |
| 22 export SHELL=/bin/bash -e |
| 23 |
| 24 # Common variables for all architectures |
| 25 include $(DEBIAN)/rules.d/0-common-vars.mk |
| 26 |
| 27 # Pull in some arch specific stuff |
| 28 include $(DEBIAN)/rules.d/$(arch).mk |
| 29 |
| 30 # Maintainer targets |
| 31 include $(DEBIAN)/rules.d/1-maintainer.mk |
| 32 |
| 33 # Debian Build System targets |
| 34 binary: binary-indep binary-arch |
| 35 |
| 36 build: build-arch build-indep |
| 37 |
| 38 clean: debian/control |
| 39 dh_testdir |
| 40 dh_testroot |
| 41 dh_clean |
| 42 |
| 43 # d-i stuff |
| 44 rm -rf $(DEBIAN)/d-i-$(arch) |
| 45 |
| 46 # normal build junk |
| 47 rm -rf $(DEBIAN)/abi/$(release)-$(revision) |
| 48 rm -rf $(builddir) |
| 49 rm -f $(stampdir)/stamp-* |
| 50 rm -rf $(DEBIAN)/linux-* |
| 51 |
| 52 # This gets rid of the d-i packages in control |
| 53 cp -f $(DEBIAN)/control.stub $(DEBIAN)/control |
| 54 cp $(DEBIAN)/changelog debian/changelog |
| 55 |
| 56 # Install the copyright information. |
| 57 cp $(DEBIAN)/copyright debian/copyright |
| 58 |
| 59 distclean: clean |
| 60 rm -rf debian.master/control debian.master/control.stub \ |
| 61 debian.master/d-i/kernel-versions debian/changelog \ |
| 62 debian/control debian/control.stub debian/copyright \ |
| 63 debian/debian.env |
| 64 |
| 65 # Builds the image, arch headers and debug packages |
| 66 include $(DEBIAN)/rules.d/2-binary-arch.mk |
| 67 |
| 68 # Rules for building the udebs ($(DEBIAN)-installer) |
| 69 include $(DEBIAN)/rules.d/5-udebs.mk |
| 70 |
| 71 # Builds the source, doc and linux-headers indep packages |
| 72 include $(DEBIAN)/rules.d/3-binary-indep.mk |
| 73 |
| 74 # Various checks to be performed on builds |
| 75 include $(DEBIAN)/rules.d/4-checks.mk |
| 76 |
| 77 # Misc stuff |
| 78 $(DEBIAN)/control.stub: $(DEBIAN)/d-i/kernel-versions.in \ |
| 79 $(DEBIAN)/scripts/control-create \ |
| 80 $(DEBIAN)/control.stub.in \ |
| 81 $(DEBIAN)/changelog \ |
| 82 $(wildcard $(DEBIAN)/control.d/* $(DEBIAN)/sub-flavours/*.vars) |
| 83 for i in $(DEBIAN)/d-i/kernel-versions.in $(DEBIAN)/control.stub.in; do
\ |
| 84 new=`echo $$i | sed 's/\.in$$//'`;
\ |
| 85 cat $$i | sed -e 's/PKGVER/$(release)/g'
\ |
| 86 -e 's/ABINUM/$(abinum)/g'
\ |
| 87 -e 's/SRCPKGNAME/$(src_pkg_name)/g'
\ |
| 88 > $$new;
\ |
| 89 done |
| 90 flavours="$(wildcard $(DEBIAN)/control.d/vars.* $(DEBIAN)/sub-flavours/*
.vars)";\ |
| 91 for i in $$flavours; do
\ |
| 92 $(SHELL) $(DEBIAN)/scripts/control-create $$i |
\ |
| 93 sed -e 's/PKGVER/$(release)/g'
\ |
| 94 -e 's/ABINUM/$(abinum)/g'
\ |
| 95 -e 's/SRCPKGNAME/$(src_pkg_name)/g'
\ |
| 96 >> $(DEBIAN)/control.stub;
\ |
| 97 done |
| 98 cp $(DEBIAN)/control.stub $(DEBIAN)/control |
| 99 |
| 100 .PHONY: debian/control |
| 101 debian/control: $(DEBIAN)/control.stub |
| 102 rm -rf $(builddir)/modules $(builddir)/firmware \ |
| 103 $(builddir)/kernel-versions $(builddir)/package-list \ |
| 104 $(builddir)/$(DEBIAN) |
| 105 mkdir -p $(builddir)/modules/$(arch)/ |
| 106 cp $(DEBIAN)/d-i/modules/* $(builddir)/modules/$(arch)/ |
| 107 mkdir -p $(builddir)/firmware/$(arch)/ |
| 108 cp $(DEBIAN)/d-i/firmware/* $(builddir)/firmware/$(arch)/ |
| 109 cp $(DEBIAN)/d-i/package-list $(DEBIAN)/d-i/kernel-versions $(builddir)/ |
| 110 touch $(builddir)/modules/$(arch)/kernel-image |
| 111 # kernel-wedge needs to poke around in $(DEBIAN)/ |
| 112 ln -nsf $(CURDIR)/debian $(builddir)/debian |
| 113 |
| 114 # Some files may need to differ between architectures |
| 115 if [ -d $(DEBIAN)/d-i/modules-$(arch) ]; then \ |
| 116 cp $(DEBIAN)/d-i/modules-$(arch)/* \ |
| 117 $(builddir)/modules/$(arch)/; \ |
| 118 fi |
| 119 if [ -d $(DEBIAN)/d-i/firmware-$(arch) ]; then \ |
| 120 cp $(DEBIAN)/d-i/firmware-$(arch)/* \ |
| 121 $(builddir)/firmware/$(arch)/; \ |
| 122 fi |
| 123 |
| 124 # Remove unwanted stuff for this architecture |
| 125 if [ -r "$(DEBIAN)/d-i/exclude-modules.$(arch)" ]; then \ |
| 126 (cat $(DEBIAN)/d-i/exclude-modules.$(arch); \ |
| 127 ls $(builddir)/modules/$(arch)/) | sort | uniq -d | \ |
| 128 (cd $(builddir)/modules/$(arch)/; xargs rm -f); \ |
| 129 fi |
| 130 if [ -r "$(DEBIAN)/d-i/exclude-firmware.$(arch)" ]; then
\ |
| 131 (cat $(DEBIAN)/d-i/exclude-firmware.$(arch);
\ |
| 132 ls $(builddir)/firmware/$(arch)/) | sort | uniq -d | \ |
| 133 (cd $(builddir)/firmware/$(arch)/; xargs rm -f); \ |
| 134 fi |
| 135 |
| 136 # Per flavour module lists |
| 137 flavour_modules=`ls $(DEBIAN)/d-i/modules.$(arch)-* 2>/dev/null`
\ |
| 138 || true; \ |
| 139 if [ "$$flavour_modules" != "" ]; then \ |
| 140 for flav in $$flavour_modules; do \ |
| 141 name=`echo $$flav | sed 's/.*\/modules.$(arch)-//'`; \ |
| 142 mkdir $(builddir)/modules/$(arch)-$$name; \ |
| 143 (cd $(builddir)/modules/; tar cf - `cat ../$$flav`) | \ |
| 144 (cd $(builddir)/modules/$(arch)-$$name/; tar xf -); \ |
| 145 touch $(builddir)/modules/$(arch)-$$name/kernel-image; \ |
| 146 done; \ |
| 147 fi |
| 148 flavour_firmware=`ls $(DEBIAN)/d-i/firmware.$(arch)-* 2>/dev/null`
\ |
| 149 || true; \ |
| 150 if [ "$$flavour_firmware" != "" ]; then \ |
| 151 for flav in $$flavour_firmware; do \ |
| 152 name=`echo $$flav | sed 's/.*\/firmware.$(arch)-//'`; \ |
| 153 mkdir $(builddir)/firmware/$(arch)-$$name; \ |
| 154 (cd $(builddir)/firmware/; tar cf - `cat ../$$flav`) | \ |
| 155 (cd $(builddir)/firmware/$(arch)-$$name/; tar xf -);\ |
| 156 touch $(builddir)/firmware/$(arch)-$$name/kernel-image; \ |
| 157 done; \ |
| 158 fi |
| 159 |
| 160 # Some files may need to differ between flavours |
| 161 flavour_module_dirs=`ls -d $(DEBIAN)/d-i/modules-$(arch)-* 2>/dev/null`\ |
| 162 || true; \ |
| 163 if [ "$$flavour_module_dirs" ]; then \ |
| 164 for flav in $$flavour_module_dirs; do \ |
| 165 name=`echo $$flav | sed 's/.*\/modules-$(arch)-//'`; \ |
| 166 [ -d $(builddir)/modules/$(arch)-$$name ] || \ |
| 167 cp -a $(builddir)/modules/$(arch) \ |
| 168 modules/$(arch)-$$name; \ |
| 169 cp $$flav/* $(builddir)/modules/$(arch)-$$name/; \ |
| 170 done; \ |
| 171 fi |
| 172 flavour_firmware_dirs=`ls -d $(DEBIAN)/d-i/firmware-$(arch)-* 2>/dev/nul
l`\ |
| 173 || true; \ |
| 174 if [ "$$flavour_firmware_dirs" ]; then \ |
| 175 for flav in $$flavour_firmware_dirs; do \ |
| 176 name=`echo $$flav | sed 's/.*\/firmware-$(arch)-//'`; \ |
| 177 [ -d $(builddir)/firmware/$(arch)-$$name ] || \ |
| 178 cp -a $(builddir)/firmware/$(arch) \ |
| 179 firmware/$(arch)-$$name; \ |
| 180 cp $$flav/* $(builddir)/firmware/$(arch)-$$name/; \ |
| 181 done; \ |
| 182 fi |
| 183 |
| 184 # Remove unwanted stuff for each flavour |
| 185 flavour_exclude=`ls $(DEBIAN)/d-i/exclude-modules.$(arch)-* 2>/dev/null`
\ |
| 186 || true; \ |
| 187 if [ "$$flavour_exclude" ]; then \ |
| 188 for flav in $$flavour_exclude; do \ |
| 189 name=`echo $$flav | sed 's/.*\/exclude-modules.$(arch)-//'`;\ |
| 190 [ -d $(builddir)/modules/$(arch)-$$name ] || \ |
| 191 cp -a $(builddir)/modules/$(arch) \ |
| 192 $(builddir)/modules/$(arch)-$$name; \ |
| 193 (cat $$flav; \ |
| 194 ls $(builddir)/modules/$(arch)-$$name) | \ |
| 195 sort | uniq -d | \ |
| 196 (cd $(builddir)/modules/$(arch)-$$name/; \ |
| 197 xargs rm -f); \ |
| 198 done; \ |
| 199 fi |
| 200 flavour_exclude=`ls $(DEBIAN)/d-i/exclude-firmware.$(arch)-* 2>/dev/null
`\ |
| 201 || true; \ |
| 202 if [ "$$flavour_exclude" ]; then \ |
| 203 for flav in $$flavour_exclude; do \ |
| 204 name=`echo $$flav | sed 's/.*\/exclude-firmware.$(arch)-//'`;\ |
| 205 [ -d $(builddir)/firmware/$(arch)-$$name ] || \ |
| 206 cp -a $(builddir)/firmware/$(arch) \ |
| 207 $(builddir)/firmware/$(arch)-$$name; \ |
| 208 (cat $$flav; \ |
| 209 ls $(builddir)/firmware/$(arch)-$$name) | \ |
| 210 sort | uniq -d | \ |
| 211 (cd $(builddir)/firmware/$(arch)-$$name/; \ |
| 212 xargs rm -f); \ |
| 213 done; \ |
| 214 fi |
| 215 |
| 216 if [ ! -d $(builddir)/modules/$(build_arch) ]; then \ |
| 217 mkdir -p $(builddir)/modules/$(build_arch); \ |
| 218 cp $(builddir)/modules/$(arch)/* \ |
| 219 $(builddir)/modules/$(build_arch); \ |
| 220 fi |
| 221 if [ ! -d $(builddir)/firmware/$(build_arch) ]; then \ |
| 222 mkdir -p $(builddir)/firmware/$(build_arch); \ |
| 223 cp $(builddir)/firmware/$(arch)/* \ |
| 224 $(builddir)/firmware/$(build_arch); \ |
| 225 fi |
| 226 |
| 227 cp $(DEBIAN)/control.stub debian/control.stub |
| 228 cd $(builddir) && kernel-wedge gen-control > $(CURDIR)/debian/control |
OLD | NEW |