#!/usr/bin/make -f # # $(DEBIAN)/rules for Ubuntu linux # # Use this however you want, just give credit where credit is due. # # Copyright (c) 2007 Ben Collins # DEBIAN=$(shell awk -F= '($$1 == "DEBIAN") { print $$2 }' /dev/null || echo $$m >> $(prev_abidir)/../modules.ignore; done) endif ifeq ($(do_dkms_wireguard),false) do_wireguard_disable:=$(shell for m in $$(cat $(DROOT)/wireguard-modules.ignore); do grep -qxF $$m $(prev_abidir)/../modules.ignore 2>/dev/null || echo $$m >> $(prev_abidir)/../modules.ignore; done) endif # Either tools package needs the common source preparation do_any_tools=$(sort $(filter-out false,$(do_linux_tools) $(do_cloud_tools))) # Versions of dkms packages. dkms_zfs_linux_version=$(shell gawk '/^zfs-linux / { print $$2; }' debian/dkms-versions) # NVIDIA DKMS package gross series split into desktop and server. nvidia_desktop_series=$(shell sed -n -e 's/^nvidia-graphics-drivers-\([0-9][0-9]*\) .*/\1/p' debian/dkms-versions) nvidia_server_series=$(shell sed -n -e 's/^nvidia-graphics-drivers-\([0-9][0-9]*-server\) .*/\1/p' debian/dkms-versions) # Debian Build System targets binary: binary-indep binary-arch build: build-arch build-indep clean: debian/control debian/canonical-certs.pem dh_testdir dh_testroot dh_clean ifeq ($(disable_d_i),) # d-i stuff rm -rf $(DEBIAN)/d-i-$(arch) # Generated on the fly. rm -f $(DEBIAN)/d-i/firmware/$(arch)/kernel-image endif # normal build junk rm -rf $(DEBIAN)/abi/$(release)-$(revision) rm -rf $(builddir) rm -f $(stampdir)/stamp-* rm -rf $(DEBIAN)/linux-* # This gets rid of the d-i packages in control cp -f $(DEBIAN)/control.stub $(DROOT)/control cp $(DEBIAN)/changelog debian/changelog # Install the copyright information. cp $(DEBIAN)/copyright debian/copyright # Install the retpoline extractor. cp $(DROOT)/scripts/retpoline-extract-one scripts/ubuntu-retpoline-extract-one # If we have a reconstruct script use it. [ -f $(DEBIAN)/reconstruct ] && bash $(DEBIAN)/reconstruct || true # Remove generated intermediate files rm -f $(DROOT)/control.stub $(DEBIAN)/control.stub rm -f $(DROOT)/scripts/fix-filenames distclean: clean rm -rf $(DROOT)/control debian/changelog \ debian/control debian/control.stub debian/copyright \ scripts/ubuntu-retpoline-extract-one # Builds the image, arch headers and debug packages include $(DROOT)/rules.d/2-binary-arch.mk # Rules for building the udebs ($(DEBIAN)-installer) include $(DROOT)/rules.d/5-udebs.mk # Builds the source, doc and linux-headers indep packages include $(DROOT)/rules.d/3-binary-indep.mk # Various checks to be performed on builds include $(DROOT)/rules.d/4-checks.mk control_files := $(DEBIAN)/control.stub.in ifeq ($(do_libc_dev_package),true) ifneq (,$(wildcard $(DEBIAN)/control.d/linux-libc-dev.stub)) control_files += $(DEBIAN)/control.d/linux-libc-dev.stub endif endif ifeq ($(do_doc_package),true) ifneq (,$(wildcard $(DEBIAN)/control.d/linux-doc.stub)) control_files += $(DEBIAN)/control.d/linux-doc.stub endif endif # Misc stuff .PHONY: $(DEBIAN)/control.stub $(DEBIAN)/control.stub: \ $(DROOT)/scripts/control-create \ $(control_files) \ $(DEBIAN)/changelog \ $(wildcard $(DEBIAN)/control.d/* $(DEBIAN)/sub-flavours/*.vars) for i in $(control_files); do \ cat $$i; \ echo ""; \ done | sed -e 's/PKGVER/$(release)/g' \ -e 's/ABINUM/$(abinum)/g' \ -e 's/SRCPKGNAME/$(src_pkg_name)/g' \ -e 's/=HUMAN=/$(human_arch)/g' \ -e 's/=SERIES=/$(series)/g' \ > $(DEBIAN)/control.stub; flavours="$(sort $(wildcard $(DEBIAN)/control.d/vars.* $(DEBIAN)/sub-flavours/*.vars))";\ for i in $$flavours; do \ $(SHELL) $(DROOT)/scripts/control-create $$i "$(any_signed)" | \ sed -e 's/PKGVER/$(release)/g' \ -e 's/ABINUM/$(abinum)/g' \ -e 's/SRCPKGNAME/$(src_pkg_name)/g' \ -e 's/=HUMAN=/$(human_arch)/g' \ -e 's/=SERIES=/$(series)/g' \ >> $(DEBIAN)/control.stub; \ done .PHONY: debian/control debian/control: $(DEBIAN)/control.stub echo "# placebo control.stub for kernel-wedge flow change" >debian/control.stub cp $(DEBIAN)/control.stub debian/control ifeq ($(disable_d_i),) # start new paragraph in debian/control echo >> debian/control # append udeb packages export KW_DEFCONFIG_DIR=$(DEBIAN)/d-i && \ export KW_CONFIG_DIR=$(DEBIAN)/d-i && \ LANG=C kernel-wedge gen-control $(release)-$(abinum) | \ grep-dctrl -FArchitecture $(arch) \ >>$(CURDIR)/debian/control endif debian/canonical-certs.pem: $(wildcard $(DROOT)/certs/*-all.pem) $(wildcard $(DROOT)/certs/*-$(arch).pem) $(wildcard $(DEBIAN)/certs/*-all.pem) $(wildcard $(DEBIAN)/certs/*-$(arch).pem) for cert in $(sort $(notdir $^)); \ do \ for dir in $(DEBIAN) $(DROOT); \ do \ if [ -f "$$dir/certs/$$cert" ]; then \ cat "$$dir/certs/$$cert"; \ break; \ fi; \ done; \ done >"$@"