Remove support for per-architecture patches

We have not used per-architecture patches for many years.  This is a
step toward using a more standard patch system.

svn path=/dists/sid/linux/; revision=19070
This commit is contained in:
Ben Hutchings 2012-06-03 20:54:42 +00:00
parent bf51475e7c
commit aac2076873
5 changed files with 38 additions and 57 deletions

View File

@ -63,6 +63,20 @@ class Gencontrol(Base):
def do_main_packages(self, packages, vars, makeflags, extra):
packages.extend(self.process_packages(self.templates["control.main"], self.vars))
def do_main_recurse(self, packages, makefile, vars, makeflags, extra):
# Add featureset source rules
for featureset in iter(self.config['base', ]['featuresets']):
makeflags_featureset = makeflags.copy()
makeflags_featureset['FEATURESET'] = featureset
cmds_source = ["$(MAKE) -f debian/rules.real source-featureset %s"
% makeflags_featureset]
makefile.add('source_%s_real' % featureset, cmds=cmds_source)
makefile.add('source_%s' % featureset,
['source_%s_real' % featureset])
makefile.add('source', ['source_%s' % featureset])
super(Gencontrol, self).do_main_recurse(packages, makefile, vars, makeflags, extra)
arch_makeflags = (
('kernel-arch', 'KERNEL_ARCH', False),
)
@ -91,13 +105,11 @@ class Gencontrol(Base):
self.merge_packages(packages, packages_headers_arch, arch)
cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-arch %s" % makeflags]
cmds_source = ["$(MAKE) -f debian/rules.real source-arch %s" % makeflags]
makefile.add('binary-arch_%s_real' % arch, cmds=cmds_binary_arch)
makefile.add('source_%s_real' % arch, cmds=cmds_source)
# Shortcut to aid architecture bootstrapping
makefile.add('binary-libc-dev_%s' % arch,
['source_%s_real' % arch],
['source_none_real'],
["$(MAKE) -f debian/rules.real install-libc-dev_%s %s" %
(arch, makeflags)])
@ -141,9 +153,7 @@ class Gencontrol(Base):
self.merge_packages(packages, (package_headers,), arch)
cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-featureset %s" % makeflags]
cmds_source = ["$(MAKE) -f debian/rules.real source-featureset %s" % makeflags]
makefile.add('binary-arch_%s_%s_real' % (arch, featureset), cmds=cmds_binary_arch)
makefile.add('source_%s_%s_real' % (arch, featureset), cmds=cmds_source)
flavour_makeflags_base = (
('compiler', 'COMPILER', False),

View File

@ -77,7 +77,7 @@ class MakeFlags(dict):
class Gencontrol(object):
makefile_targets = ('binary-arch', 'build', 'setup', 'source')
makefile_targets = ('binary-arch', 'build', 'setup')
def __init__(self, config, templates, version=Version):
self.config, self.templates = config, templates

6
debian/rules vendored
View File

@ -22,13 +22,9 @@ endif
source: debian/control $(STAMPS_DIR)/source-base
$(STAMPS_DIR)/source-base:
dh_testdir
$(MAKE) -f debian/rules.gen source_$(DEB_HOST_ARCH)
@$(stamp)
source-all: debian/control
dh_testdir
$(MAKE) -f debian/rules.gen source
@$(stamp)
setup: debian/control $(STAMPS_DIR)/setup-base
$(STAMPS_DIR)/setup-base: $(STAMPS_DIR)/source-base

21
debian/rules.real vendored
View File

@ -55,8 +55,7 @@ build: $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
setup-flavour: $(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
source-arch: $(STAMPS_DIR)/source
source-featureset: $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET)
source-featureset: $(STAMPS_DIR)/source_$(FEATURESET)
$(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(KCONFIG)
python debian/bin/kconfig.py '$@' $(KCONFIG) $(KCONFIG_OPTIONS)
@ -83,18 +82,18 @@ $(STAMPS_DIR)/source:
$(patch_cmd)
@$(stamp)
$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): SOURCE_DIR=$(BUILD_DIR)/source
$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): DIR=$(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): $(STAMPS_DIR)/source
$(STAMPS_DIR)/source_$(FEATURESET): SOURCE_DIR=$(BUILD_DIR)/source
$(STAMPS_DIR)/source_$(FEATURESET): DIR=$(BUILD_DIR)/source_$(FEATURESET)
$(STAMPS_DIR)/source_$(FEATURESET): $(STAMPS_DIR)/source
rm -rf '$(DIR)'
cp -al '$(SOURCE_DIR)' '$(DIR)'
$(patch_cmd) -a $(ARCH) -f $(FEATURESET)
$(patch_cmd) -f $(FEATURESET)
@$(stamp)
$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR): CONFIG=$(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR)
$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR): SOURCE_DIR=$(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR): SOURCE_DIR=$(BUILD_DIR)/source_$(FEATURESET)
$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DIR=$(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET) $(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR)
$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/source_$(FEATURESET) $(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR)
rm -rf '$(DIR)'
mkdir '$(DIR)'
cp '$(CONFIG)' '$(DIR)/.config'
@ -195,9 +194,9 @@ install-headers_$(ARCH)_$(FEATURESET): PACKAGE_NAME = linux-headers-$(ABINAME)-c
install-headers_$(ARCH)_$(FEATURESET): PACKAGE_NAME_KBUILD = linux-kbuild-$(VERSION)
install-headers_$(ARCH)_$(FEATURESET): DH_OPTIONS = -p$(PACKAGE_NAME)
install-headers_$(ARCH)_$(FEATURESET): BASE_DIR = /usr/src/$(PACKAGE_NAME)
install-headers_$(ARCH)_$(FEATURESET): SOURCE_DIR = $(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
install-headers_$(ARCH)_$(FEATURESET): SOURCE_DIR = $(BUILD_DIR)/source_$(FEATURESET)
install-headers_$(ARCH)_$(FEATURESET): DIR = debian/$(PACKAGE_NAME)/$(BASE_DIR)
install-headers_$(ARCH)_$(FEATURESET): $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET)
install-headers_$(ARCH)_$(FEATURESET): $(STAMPS_DIR)/source_$(FEATURESET)
dh_testdir
dh_testroot
dh_prep
@ -226,7 +225,7 @@ install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DH_OPTIONS = -p$(PACKAGE_NAME)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): BASE_DIR = /usr/src/$(PACKAGE_NAME)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): BASE_DIR_COMMON = /usr/src/$(PACKAGE_NAME_COMMON)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): SOURCE_DIR = $(BUILD_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REF_DIR = $(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REF_DIR = $(BUILD_DIR)/source_$(FEATURESET)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_DIR = debian/$(PACKAGE_NAME)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DIR = $(PACKAGE_DIR)/$(BASE_DIR)
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)

View File

@ -12,10 +12,10 @@ revisions = "@revisions@".split()
upstream = "@upstream@"
class MatchExtra(object):
def __init__(self, arch, featureset):
self.arch, self.featureset = arch, featureset
def __init__(self, featureset):
self.featureset = featureset
self.matched_arch = self.matched_featureset = False
self.matched_featureset = False
def __call__(self, obj):
if not self:
@ -23,26 +23,14 @@ class MatchExtra(object):
data = obj.data
match_arch = []
match_featureset = []
for i in data:
if i.startswith("arch="):
match_arch.append(i[5:])
elif i.startswith("featureset="):
if i.startswith("featureset="):
match_featureset.append(i[11:])
else:
raise RuntimeError('Ignored unknown modifier: %s' % i)
ret_arch = ret_featureset = False
if match_arch:
if self.arch is not None:
if self.arch in match_arch:
self.matched_arch = True
ret_arch = True
else:
ret_arch = True
ret_featureset = False
if match_featureset:
if self.featureset is not None:
@ -53,15 +41,13 @@ class MatchExtra(object):
else:
ret_featureset = True
return ret_arch and ret_featureset
return ret_featureset
def __nonzero__(self):
return self.arch is not None or self.featureset is not None
return self.featureset is not None
def info(self):
ret = []
if self.matched_arch:
ret.append("arch=%s" % self.arch)
if self.matched_featureset:
ret.append("featureset=%s" % self.featureset)
return ret
@ -98,15 +84,13 @@ class version_file(object):
list = s.split()
self.upstream, self.revision = list[0:2]
arch = featureset = None
featureset = None
for i in list[2:]:
if i.startswith("arch="):
arch = i[5:]
elif i.startswith("featureset="):
if i.startswith("featureset="):
featureset = i[11:]
else:
raise RuntimeError("Can't parse extra information")
self.extra = MatchExtra(arch, featureset)
self.extra = MatchExtra(featureset)
def _write(self):
if os.path.lexists(self._file):
@ -141,7 +125,7 @@ def main():
target_revision = args[0]
else:
target_revision = revisions[-1]
target_extra = MatchExtra(options.arch, options.featureset)
target_extra = MatchExtra(options.featureset)
if vfile.upstream != upstream:
raise RuntimeError("Upstream version differs between tree (%s) and package (%s)" % (vfile.upstream, upstream))
@ -191,11 +175,6 @@ def parse_options():
parser = OptionParser(
usage = "%prog [OPTION]... [TARGET]",
)
parser.add_option(
'-a', '--arch',
dest = 'arch',
help = "arch",
)
parser.add_option(
'-f', '--featureset',
dest = 'featureset',
@ -209,9 +188,6 @@ def parse_options():
options, args = parser.parse_args()
if options.arch is None and options.featureset is not None:
raise RuntimeError('You specified a featureset without an arch, this is not really working')
return options, args
if __name__ == '__main__':