diff --git a/debian/arch/amd64/xen/defines b/debian/arch/amd64/xen/defines index 123d26d1a..e72199910 100644 --- a/debian/arch/amd64/xen/defines +++ b/debian/arch/amd64/xen/defines @@ -2,7 +2,10 @@ flavours: amd64-k8 em64t-p4 -type: plain + +[image] +initramfs: false +type: plain-xen [amd64-k8] class: AMD64 K8 diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py index 467f96809..46b3ea274 100755 --- a/debian/bin/gencontrol.py +++ b/debian/bin/gencontrol.py @@ -93,6 +93,7 @@ class gencontrol(debian_linux.gencontrol.gencontrol): def do_flavour_packages(self, packages, makefile, arch, subarch, flavour, vars, makeflags, extra): image = self.templates["control.image"] headers = self.templates["control.headers"] + modules = self.templates["control.modules"] image_latest = self.templates["control.image.latest"] headers_latest = self.templates["control.headers.latest"] @@ -108,6 +109,13 @@ class gencontrol(debian_linux.gencontrol.gencontrol): packages_own = [] packages_dummy = [] + + if vars['type'] == 'plain-xen': + p = self.process_package(modules[0], vars) + image_depends.extend(p['Reverse-Depends']) + del p['Reverse-Depends'] + packages_own.append(p) + packages_own.append(self.process_real_image(image[0], image_depends, vars)) packages_own.append(self.process_package(headers[0], vars)) packages_dummy.extend(self.process_packages(image_latest, vars)) diff --git a/debian/lib/python/debian_linux/debian.py b/debian/lib/python/debian_linux/debian.py index 9e41e0c83..2b83362c7 100644 --- a/debian/lib/python/debian_linux/debian.py +++ b/debian/lib/python/debian_linux/debian.py @@ -202,6 +202,7 @@ class package(dict): ('Suggests', package_relation_list), ('Replaces', package_relation_list), ('Conflicts', package_relation_list), + ('Reverse-Depends', package_relation_list), # Some sort of hack ('Description', package_description), )) diff --git a/debian/rules.real b/debian/rules.real index ab280c540..44fdca249 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -125,7 +125,7 @@ $(STAMPS_DIR)/build-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-kernel-package: $(STAMPS_DIR)/ cd '$(DIR)'; $(setup_env) PATH='$(CURDIR)/build:$(CURDIR)/bin:$(PATH)' $(kpkg_image) build touch '$@' -$(STAMPS_DIR)/build-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-plain: $(STAMPS_DIR)/setup-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-$(TYPE) +$(STAMPS_DIR)/build-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-plain-xen: $(STAMPS_DIR)/setup-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-$(TYPE) cd '$(DIR)'; $(setup_env) make ARCH=$(KERNEL_ARCH) touch '$@' @@ -139,11 +139,10 @@ $(STAMPS_DIR)/setup-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-kernel-package: $(BUILD_DIR)/c cd '$(DIR)'; $(setup_env) $(kpkg_image) configure touch '$@' -$(STAMPS_DIR)/setup-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-plain: $(BUILD_DIR)/config.$(ARCH)-$(SUBARCH)-$(FLAVOUR) $(STAMPS_DIR)/source-$(ARCH)-$(SUBARCH) +$(STAMPS_DIR)/setup-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-plain-xen: $(BUILD_DIR)/config.$(ARCH)-$(SUBARCH)-$(FLAVOUR) $(STAMPS_DIR)/source-$(ARCH)-$(SUBARCH) rm -rf '$(DIR)' cp -al '$(SOURCE_DIR)' '$(DIR)' cp '$<' '$(DIR)/.config' - # TODO echo '$(KPKG_ABINAME)$(LOCALVERSION)' > '$(DIR)/localversion' cd '$(DIR)'; $(setup_env) make prepare ARCH=$(KERNEL_ARCH) touch '$@' @@ -302,7 +301,6 @@ install-image-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-$(TYPE): PACKAGE_NAME = linux-image- install-image-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-$(TYPE): PACKAGE_DIR = $(CURDIR)/debian/$(PACKAGE_NAME) install-image-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-$(TYPE): SOURCE_DIR=$(BUILD_DIR)/build-$(ARCH)-$(SUBARCH)-$(FLAVOUR) install-image-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-$(TYPE): DIR=$(BUILD_DIR)/$@ -install-image-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-$(TYPE): DH_OPTIONS = -p$(PACKAGE_NAME) install-image-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-kernel-package: $(STAMPS_DIR)/build-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-$(TYPE) rm -rf '$(DIR)' @@ -320,13 +318,16 @@ endif done rm -rf '$(DIR)' -install-image-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-plain: $(STAMPS_DIR)/build-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-$(TYPE) +install-image-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-plain-xen: MODULES_PACKAGE_NAME = linux-modules-$(REAL_VERSION) +install-image-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-plain-xen: MODULES_PACKAGE_DIR = $(CURDIR)/debian/$(MODULES_PACKAGE_NAME) +install-image-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-plain-xen: DH_OPTIONS = -p$(PACKAGE_NAME) -p$(MODULES_PACKAGE_NAME) +install-image-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-plain-xen: $(STAMPS_DIR)/build-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-$(TYPE) dh_testdir dh_testroot dh_clean -d -k dh_installdirs 'boot' cp '$(SOURCE_DIR)/vmlinuz' $(PACKAGE_DIR)/boot/vmlinuz-$(REAL_VERSION) - cd '$(SOURCE_DIR)'; $(setup_env) make modules_install ARCH=$(KERNEL_ARCH) INSTALL_MOD_PATH=$(PACKAGE_DIR) + cd '$(SOURCE_DIR)'; $(setup_env) make modules_install ARCH=$(KERNEL_ARCH) INSTALL_MOD_PATH=$(MODULES_PACKAGE_DIR) $(MAKE) -f debian/rules.real install-base DH_OPTIONS='$(DH_OPTIONS)' install-patch: PACKAGE = linux-patch-debian-$(VERSION) diff --git a/debian/templates/control.modules.in b/debian/templates/control.modules.in new file mode 100644 index 000000000..98868979c --- /dev/null +++ b/debian/templates/control.modules.in @@ -0,0 +1,8 @@ +Package: linux-modules-@upstreamversion@@abiname@@localversion@ +Section: base +Priority: optional +Depends: module-init-tools (>= 0.9.13) +Reverse-Depends: linux-modules-@upstreamversion@@abiname@@localversion@ (= ${Source-Version}) +Description: Linux kernel modules @version@ image on @class@ machines + This package provides pre-built loadable modules for + Linux kernel @version@ on @longclass@ machines.