diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py index 4bdd33539..bd6249546 100755 --- a/debian/bin/gencontrol.py +++ b/debian/bin/gencontrol.py @@ -32,10 +32,11 @@ class gencontrol(debian_linux.gencontrol.gencontrol): makeflags_string = ' '.join(["%s='%s'" % i for i in makeflags.iteritems()]) - cmds_setup = [] - cmds_setup.append(("$(MAKE) -f debian/rules.real setup-arch %s" % makeflags_string,)) - makefile.append(("setup-%s-real:" % arch, cmds_setup)) + cmds_source = [] + cmds_source.append(("$(MAKE) -f debian/rules.real source-arch %s" % makeflags_string,)) makefile.append(("build-%s-real:" % arch)) + makefile.append(("setup-%s-real:" % arch)) + makefile.append(("source-%s-real:" % arch, cmds_source)) def do_arch_packages_post(self, packages, makefile, arch, vars, makeflags, extra): makeflags_string = ' '.join(["%s='%s'" % i for i in makeflags.iteritems()]) @@ -70,11 +71,12 @@ class gencontrol(debian_linux.gencontrol.gencontrol): cmds_binary_arch = [] cmds_binary_arch.append(("$(MAKE) -f debian/rules.real binary-arch-subarch %s" % makeflags_string,)) - cmds_setup = [] - cmds_setup.append(("$(MAKE) -f debian/rules.real setup-subarch %s" % makeflags_string,)) + cmds_source = [] + cmds_source.append(("$(MAKE) -f debian/rules.real source-subarch %s" % makeflags_string,)) makefile.append(("binary-arch-%s-%s-real:" % (arch, subarch), cmds_binary_arch)) makefile.append("build-%s-%s-real:" % (arch, subarch)) - makefile.append(("setup-%s-%s-real:" % (arch, subarch), cmds_setup)) + makefile.append(("setup-%s-%s-real:" % (arch, subarch))) + makefile.append(("source-%s-%s-real:" % (arch, subarch), cmds_source)) def do_flavour_setup(self, vars, makeflags, arch, subarch, flavour): vars.update(self.config.get(('image', arch, subarch, flavour), {})) @@ -146,6 +148,7 @@ class gencontrol(debian_linux.gencontrol.gencontrol): makefile.append(("binary-arch-%s-%s-%s-real:" % (arch, subarch, flavour), cmds_binary_arch)) makefile.append(("build-%s-%s-%s-real:" % (arch, subarch, flavour), cmds_build)) makefile.append(("setup-%s-%s-%s-real:" % (arch, subarch, flavour), cmds_setup)) + makefile.append(("source-%s-%s-%s-real:" % (arch, subarch, flavour))) def process_real_image(self, in_entry, depends, vars): entry = self.process_package(in_entry, vars) diff --git a/debian/lib/python/debian_linux/gencontrol.py b/debian/lib/python/debian_linux/gencontrol.py index 2fbaf41e6..f17d44736 100644 --- a/debian/lib/python/debian_linux/gencontrol.py +++ b/debian/lib/python/debian_linux/gencontrol.py @@ -12,6 +12,8 @@ class packages_list(sorted_dict): self[package['Package']] = package class gencontrol(object): + makefile_targets = ('binary-arch', 'build', 'setup', 'source') + def __init__(self, underlay = None): self.changelog = read_changelog() self.config = config_reader(["debian/arch", underlay]) @@ -97,7 +99,7 @@ class gencontrol(object): vars.update(self.config['image', arch]) if not config_entry.get('available', True): - for i in ('binary-arch', 'build', 'setup'): + for i in self.makefile_targets: makefile.append(("%s-%s:" % (i, arch), ["@echo Architecture %s is not available!" % arch, "@exit 1"])) return @@ -119,11 +121,12 @@ class gencontrol(object): pass def do_arch_makefile(self, makefile, arch, makeflags): - for i in (('binary-arch', 'build', 'setup',)): + for i in self.makefile_targets: + makefile.append("%s:: %s-%s" % (i, i, arch)) makefile.append("%s-%s:: %s-%s-real" % (i, arch, i, arch)) def do_arch_packages(self, packages, makefile, arch, vars, makeflags, extra): - for i in (('binary-arch', 'build', 'setup',)): + for i in self.makefile_targets: makefile.append("%s-%s-real:" % (i, arch)) def do_arch_packages_post(self, packages, makefile, arch, vars, makeflags, extra): @@ -149,12 +152,12 @@ class gencontrol(object): pass def do_subarch_makefile(self, makefile, arch, subarch, makeflags): - for i in ('binary-arch', 'build', 'setup'): + for i in self.makefile_targets: makefile.append("%s-%s:: %s-%s-%s" % (i, arch, i, arch, subarch)) makefile.append("%s-%s-%s:: %s-%s-%s-real" % (i, arch, subarch, i, arch, subarch)) def do_subarch_packages(self, packages, makefile, arch, subarch, vars, makeflags, extra): - for i in (('binary-arch', 'build', 'setup',)): + for i in self.makefile_targets: makefile.append("%s-%s-%s-real:" % (i, arch, subarch)) def do_flavour(self, packages, makefile, arch, subarch, flavour, vars, makeflags, extra): @@ -194,7 +197,7 @@ class gencontrol(object): makeflags[i[1]] = vars[i[0]] def do_flavour_makefile(self, makefile, arch, subarch, flavour, makeflags): - for i in ('binary-arch', 'build', 'setup'): + for i in self.makefile_targets: makefile.append("%s-%s-%s:: %s-%s-%s-%s" % (i, arch, subarch, i, arch, subarch, flavour)) makefile.append("%s-%s-%s-%s:: %s-%s-%s-%s-real" % (i, arch, subarch, flavour, i, arch, subarch, flavour)) diff --git a/debian/rules b/debian/rules index 7cdbd1f01..f2773d515 100755 --- a/debian/rules +++ b/debian/rules @@ -11,14 +11,25 @@ MAJOR := $(word 1,$(subst ., ,$(VERSION))).$(word 2,$(subst ., ,$(VERSION))) include debian/rules.defs -setup: debian/control $(STAMPS_DIR)/setup-stamp -$(STAMPS_DIR)/setup-stamp: $(BUILD_DIR) $(STAMPS_DIR) +source: debian/control $(STAMPS_DIR)/source-base +$(STAMPS_DIR)/source-base: $(BUILD_DIR) $(STAMPS_DIR) + dh_testdir + $(MAKE) -f debian/rules.gen source-$(DEB_HOST_ARCH) + touch $@ + +source-all: debian/control $(BUILD_DIR) $(STAMPS_DIR) + dh_testdir + $(MAKE) -f debian/rules.gen source + touch $@ + +setup: debian/control $(STAMPS_DIR)/setup-base +$(STAMPS_DIR)/setup-base: $(BUILD_DIR) $(STAMPS_DIR) $(STAMPS_DIR)/source-base dh_testdir $(MAKE) -f debian/rules.gen setup-$(DEB_HOST_ARCH) touch $@ -build: debian/control $(STAMPS_DIR)/build-stamp -$(STAMPS_DIR)/build-stamp: $(BUILD_DIR) $(STAMPS_DIR) $(STAMPS_DIR)/setup-stamp +build: debian/control $(STAMPS_DIR)/build-base +$(STAMPS_DIR)/build-base: $(BUILD_DIR) $(STAMPS_DIR) $(STAMPS_DIR)/setup-base dh_testdir $(MAKE) -f debian/rules.gen build-$(DEB_HOST_ARCH) touch $@ diff --git a/debian/rules.real b/debian/rules.real index 5e6ffaae7..d4c691f6a 100644 --- a/debian/rules.real +++ b/debian/rules.real @@ -72,10 +72,11 @@ binary-indep: install-doc install-patch install-source install-tree build: $(STAMPS_DIR)/build-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-$(TYPE) -setup-arch: $(STAMPS_DIR)/source -setup-subarch: setup-flavour: $(STAMPS_DIR)/setup-$(ARCH)-$(SUBARCH)-$(FLAVOUR)-$(TYPE) +source-arch: $(STAMPS_DIR)/source +source-subarch: $(STAMPS_DIR)/source-$(ARCH)-$(SUBARCH) + # # Generates the kernel config file for a subarch by merging # the arch-independent config file (arch/config),