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:
parent
bf51475e7c
commit
aac2076873
|
@ -63,6 +63,20 @@ class Gencontrol(Base):
|
||||||
def do_main_packages(self, packages, vars, makeflags, extra):
|
def do_main_packages(self, packages, vars, makeflags, extra):
|
||||||
packages.extend(self.process_packages(self.templates["control.main"], self.vars))
|
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 = (
|
arch_makeflags = (
|
||||||
('kernel-arch', 'KERNEL_ARCH', False),
|
('kernel-arch', 'KERNEL_ARCH', False),
|
||||||
)
|
)
|
||||||
|
@ -91,13 +105,11 @@ class Gencontrol(Base):
|
||||||
self.merge_packages(packages, packages_headers_arch, arch)
|
self.merge_packages(packages, packages_headers_arch, arch)
|
||||||
|
|
||||||
cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-arch %s" % makeflags]
|
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('binary-arch_%s_real' % arch, cmds=cmds_binary_arch)
|
||||||
makefile.add('source_%s_real' % arch, cmds=cmds_source)
|
|
||||||
|
|
||||||
# Shortcut to aid architecture bootstrapping
|
# Shortcut to aid architecture bootstrapping
|
||||||
makefile.add('binary-libc-dev_%s' % arch,
|
makefile.add('binary-libc-dev_%s' % arch,
|
||||||
['source_%s_real' % arch],
|
['source_none_real'],
|
||||||
["$(MAKE) -f debian/rules.real install-libc-dev_%s %s" %
|
["$(MAKE) -f debian/rules.real install-libc-dev_%s %s" %
|
||||||
(arch, makeflags)])
|
(arch, makeflags)])
|
||||||
|
|
||||||
|
@ -141,9 +153,7 @@ class Gencontrol(Base):
|
||||||
self.merge_packages(packages, (package_headers,), arch)
|
self.merge_packages(packages, (package_headers,), arch)
|
||||||
|
|
||||||
cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-featureset %s" % makeflags]
|
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('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 = (
|
flavour_makeflags_base = (
|
||||||
('compiler', 'COMPILER', False),
|
('compiler', 'COMPILER', False),
|
||||||
|
|
|
@ -77,7 +77,7 @@ class MakeFlags(dict):
|
||||||
|
|
||||||
|
|
||||||
class Gencontrol(object):
|
class Gencontrol(object):
|
||||||
makefile_targets = ('binary-arch', 'build', 'setup', 'source')
|
makefile_targets = ('binary-arch', 'build', 'setup')
|
||||||
|
|
||||||
def __init__(self, config, templates, version=Version):
|
def __init__(self, config, templates, version=Version):
|
||||||
self.config, self.templates = config, templates
|
self.config, self.templates = config, templates
|
||||||
|
|
|
@ -22,13 +22,9 @@ endif
|
||||||
|
|
||||||
source: debian/control $(STAMPS_DIR)/source-base
|
source: debian/control $(STAMPS_DIR)/source-base
|
||||||
$(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
|
dh_testdir
|
||||||
$(MAKE) -f debian/rules.gen source
|
$(MAKE) -f debian/rules.gen source
|
||||||
|
@$(stamp)
|
||||||
|
|
||||||
setup: debian/control $(STAMPS_DIR)/setup-base
|
setup: debian/control $(STAMPS_DIR)/setup-base
|
||||||
$(STAMPS_DIR)/setup-base: $(STAMPS_DIR)/source-base
|
$(STAMPS_DIR)/setup-base: $(STAMPS_DIR)/source-base
|
||||||
|
|
|
@ -55,8 +55,7 @@ build: $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
|
||||||
|
|
||||||
setup-flavour: $(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
setup-flavour: $(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
||||||
|
|
||||||
source-arch: $(STAMPS_DIR)/source
|
source-featureset: $(STAMPS_DIR)/source_$(FEATURESET)
|
||||||
source-featureset: $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET)
|
|
||||||
|
|
||||||
$(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(KCONFIG)
|
$(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(KCONFIG)
|
||||||
python debian/bin/kconfig.py '$@' $(KCONFIG) $(KCONFIG_OPTIONS)
|
python debian/bin/kconfig.py '$@' $(KCONFIG) $(KCONFIG_OPTIONS)
|
||||||
|
@ -83,18 +82,18 @@ $(STAMPS_DIR)/source:
|
||||||
$(patch_cmd)
|
$(patch_cmd)
|
||||||
@$(stamp)
|
@$(stamp)
|
||||||
|
|
||||||
$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): SOURCE_DIR=$(BUILD_DIR)/source
|
$(STAMPS_DIR)/source_$(FEATURESET): SOURCE_DIR=$(BUILD_DIR)/source
|
||||||
$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): DIR=$(BUILD_DIR)/source_$(ARCH)_$(FEATURESET)
|
$(STAMPS_DIR)/source_$(FEATURESET): DIR=$(BUILD_DIR)/source_$(FEATURESET)
|
||||||
$(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET): $(STAMPS_DIR)/source
|
$(STAMPS_DIR)/source_$(FEATURESET): $(STAMPS_DIR)/source
|
||||||
rm -rf '$(DIR)'
|
rm -rf '$(DIR)'
|
||||||
cp -al '$(SOURCE_DIR)' '$(DIR)'
|
cp -al '$(SOURCE_DIR)' '$(DIR)'
|
||||||
$(patch_cmd) -a $(ARCH) -f $(FEATURESET)
|
$(patch_cmd) -f $(FEATURESET)
|
||||||
@$(stamp)
|
@$(stamp)
|
||||||
|
|
||||||
$(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR): CONFIG=$(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR)
|
$(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): 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)'
|
rm -rf '$(DIR)'
|
||||||
mkdir '$(DIR)'
|
mkdir '$(DIR)'
|
||||||
cp '$(CONFIG)' '$(DIR)/.config'
|
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): PACKAGE_NAME_KBUILD = linux-kbuild-$(VERSION)
|
||||||
install-headers_$(ARCH)_$(FEATURESET): DH_OPTIONS = -p$(PACKAGE_NAME)
|
install-headers_$(ARCH)_$(FEATURESET): DH_OPTIONS = -p$(PACKAGE_NAME)
|
||||||
install-headers_$(ARCH)_$(FEATURESET): BASE_DIR = /usr/src/$(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): 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_testdir
|
||||||
dh_testroot
|
dh_testroot
|
||||||
dh_prep
|
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 = /usr/src/$(PACKAGE_NAME)
|
||||||
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): BASE_DIR_COMMON = /usr/src/$(PACKAGE_NAME_COMMON)
|
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): 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): PACKAGE_DIR = debian/$(PACKAGE_NAME)
|
||||||
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DIR = $(PACKAGE_DIR)/$(BASE_DIR)
|
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): DIR = $(PACKAGE_DIR)/$(BASE_DIR)
|
||||||
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
|
install-headers_$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(STAMPS_DIR)/build_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_$(TYPE)
|
||||||
|
|
|
@ -12,10 +12,10 @@ revisions = "@revisions@".split()
|
||||||
upstream = "@upstream@"
|
upstream = "@upstream@"
|
||||||
|
|
||||||
class MatchExtra(object):
|
class MatchExtra(object):
|
||||||
def __init__(self, arch, featureset):
|
def __init__(self, featureset):
|
||||||
self.arch, self.featureset = arch, featureset
|
self.featureset = featureset
|
||||||
|
|
||||||
self.matched_arch = self.matched_featureset = False
|
self.matched_featureset = False
|
||||||
|
|
||||||
def __call__(self, obj):
|
def __call__(self, obj):
|
||||||
if not self:
|
if not self:
|
||||||
|
@ -23,26 +23,14 @@ class MatchExtra(object):
|
||||||
|
|
||||||
data = obj.data
|
data = obj.data
|
||||||
|
|
||||||
match_arch = []
|
|
||||||
match_featureset = []
|
match_featureset = []
|
||||||
for i in data:
|
for i in data:
|
||||||
if i.startswith("arch="):
|
if i.startswith("featureset="):
|
||||||
match_arch.append(i[5:])
|
|
||||||
elif i.startswith("featureset="):
|
|
||||||
match_featureset.append(i[11:])
|
match_featureset.append(i[11:])
|
||||||
else:
|
else:
|
||||||
raise RuntimeError('Ignored unknown modifier: %s' % i)
|
raise RuntimeError('Ignored unknown modifier: %s' % i)
|
||||||
|
|
||||||
ret_arch = ret_featureset = False
|
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
|
|
||||||
|
|
||||||
if match_featureset:
|
if match_featureset:
|
||||||
if self.featureset is not None:
|
if self.featureset is not None:
|
||||||
|
@ -53,15 +41,13 @@ class MatchExtra(object):
|
||||||
else:
|
else:
|
||||||
ret_featureset = True
|
ret_featureset = True
|
||||||
|
|
||||||
return ret_arch and ret_featureset
|
return ret_featureset
|
||||||
|
|
||||||
def __nonzero__(self):
|
def __nonzero__(self):
|
||||||
return self.arch is not None or self.featureset is not None
|
return self.featureset is not None
|
||||||
|
|
||||||
def info(self):
|
def info(self):
|
||||||
ret = []
|
ret = []
|
||||||
if self.matched_arch:
|
|
||||||
ret.append("arch=%s" % self.arch)
|
|
||||||
if self.matched_featureset:
|
if self.matched_featureset:
|
||||||
ret.append("featureset=%s" % self.featureset)
|
ret.append("featureset=%s" % self.featureset)
|
||||||
return ret
|
return ret
|
||||||
|
@ -98,15 +84,13 @@ class version_file(object):
|
||||||
list = s.split()
|
list = s.split()
|
||||||
self.upstream, self.revision = list[0:2]
|
self.upstream, self.revision = list[0:2]
|
||||||
|
|
||||||
arch = featureset = None
|
featureset = None
|
||||||
for i in list[2:]:
|
for i in list[2:]:
|
||||||
if i.startswith("arch="):
|
if i.startswith("featureset="):
|
||||||
arch = i[5:]
|
|
||||||
elif i.startswith("featureset="):
|
|
||||||
featureset = i[11:]
|
featureset = i[11:]
|
||||||
else:
|
else:
|
||||||
raise RuntimeError("Can't parse extra information")
|
raise RuntimeError("Can't parse extra information")
|
||||||
self.extra = MatchExtra(arch, featureset)
|
self.extra = MatchExtra(featureset)
|
||||||
|
|
||||||
def _write(self):
|
def _write(self):
|
||||||
if os.path.lexists(self._file):
|
if os.path.lexists(self._file):
|
||||||
|
@ -141,7 +125,7 @@ def main():
|
||||||
target_revision = args[0]
|
target_revision = args[0]
|
||||||
else:
|
else:
|
||||||
target_revision = revisions[-1]
|
target_revision = revisions[-1]
|
||||||
target_extra = MatchExtra(options.arch, options.featureset)
|
target_extra = MatchExtra(options.featureset)
|
||||||
|
|
||||||
if vfile.upstream != upstream:
|
if vfile.upstream != upstream:
|
||||||
raise RuntimeError("Upstream version differs between tree (%s) and package (%s)" % (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(
|
parser = OptionParser(
|
||||||
usage = "%prog [OPTION]... [TARGET]",
|
usage = "%prog [OPTION]... [TARGET]",
|
||||||
)
|
)
|
||||||
parser.add_option(
|
|
||||||
'-a', '--arch',
|
|
||||||
dest = 'arch',
|
|
||||||
help = "arch",
|
|
||||||
)
|
|
||||||
parser.add_option(
|
parser.add_option(
|
||||||
'-f', '--featureset',
|
'-f', '--featureset',
|
||||||
dest = 'featureset',
|
dest = 'featureset',
|
||||||
|
@ -209,9 +188,6 @@ def parse_options():
|
||||||
|
|
||||||
options, args = parser.parse_args()
|
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
|
return options, args
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
Loading…
Reference in New Issue