diff options
author | Ben Hutchings <ben@decadent.org.uk> | 2019-05-04 23:00:55 +0100 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2019-05-04 23:22:22 +0100 |
commit | 60bf994b386e31cf64cd73b79cf4c804c2cd896b (patch) | |
tree | 7319c9bd1283e286297d7f3ae87a3d00695f5b65 /debian/bin | |
parent | 471eb871aeaa8933a5db8dde00978d94d3d3f5c6 (diff) | |
parent | f79da03296f2104dbe9d6af15594c7404c9f71fd (diff) | |
download | kernel_replicant_linux-60bf994b386e31cf64cd73b79cf4c804c2cd896b.tar.gz kernel_replicant_linux-60bf994b386e31cf64cd73b79cf4c804c2cd896b.tar.bz2 kernel_replicant_linux-60bf994b386e31cf64cd73b79cf4c804c2cd896b.zip |
Merge branch 'sid'
* Drop changes to rt patchset
* Refresh "generate pkg-config file for libbpf"
* Drop changes to drivers/firmware/google config
Diffstat (limited to 'debian/bin')
-rwxr-xr-x | debian/bin/abiupdate.py | 73 | ||||
-rwxr-xr-x | debian/bin/gencontrol.py | 21 | ||||
-rwxr-xr-x | debian/bin/gencontrol_signed.py | 13 |
3 files changed, 58 insertions, 49 deletions
diff --git a/debian/bin/abiupdate.py b/debian/bin/abiupdate.py index c5fa0100c6c0..635ff034e4c1 100755 --- a/debian/bin/abiupdate.py +++ b/debian/bin/abiupdate.py @@ -13,11 +13,11 @@ from debian_linux.abi import Symbols from debian_linux.config import ConfigCoreDump from debian_linux.debian import Changelog, VersionLinux -default_url_base = "http://deb.debian.org/debian/" -default_url_base_incoming = "http://incoming.debian.org/debian-buildd/" -default_url_base_ports = "http://ftp.ports.debian.org/debian-ports/" -default_url_base_ports_incoming = "http://incoming.ports.debian.org/" -default_url_base_security = "http://security.debian.org/" +default_url_base = "https://deb.debian.org/debian/" +default_url_base_incoming = "https://incoming.debian.org/debian-buildd/" +default_url_base_ports = "https://deb.debian.org/debian-ports/" +default_url_base_ports_incoming = "https://incoming.ports.debian.org/" +default_url_base_security = "https://deb.debian.org/debian-security/" class url_debian_flat(object): @@ -54,13 +54,9 @@ class url_debian_security_pool(url_debian_pool): class Main(object): dir = None - def __init__(self, url, url_config=None, arch=None, featureset=None, - flavour=None): + def __init__(self, arch=None, featureset=None, flavour=None): self.log = sys.stdout.write - self.url = self.url_config = url - if url_config is not None: - self.url_config = url_config self.override_arch = arch self.override_featureset = featureset self.override_flavour = flavour @@ -74,6 +70,12 @@ class Main(object): self.version = changelog.version.linux_version self.version_source = changelog.version.complete + if changelog.distribution.endswith('-security'): + self.urls = [url_base_security] + else: + self.urls = [url_base, url_base_ports, + url_base_incoming, url_base_ports_incoming] + self.config = ConfigCoreDump(fp=open("debian/config.defines.dump", "rb")) @@ -113,7 +115,7 @@ class Main(object): version_abi = self.version_abi filename = ("linux-headers-%s-%s_%s_%s.deb" % (version_abi, prefix, self.version_source, arch)) - f = self.retrieve_package(self.url, filename, arch) + f = self.retrieve_package(filename, arch) d = self.extract_package(f, "linux-headers-%s_%s" % (prefix, arch)) f1 = d + ("/usr/src/linux-headers-%s-%s/Module.symvers" % (version_abi, prefix)) @@ -127,18 +129,27 @@ class Main(object): # pickle.load allows running arbitrary code. return self.config - def retrieve_package(self, url, filename, arch): - u = url(self.source, filename, arch) - filename_out = self.dir + "/" + filename + def retrieve_package(self, filename, arch): + for i, url in enumerate(self.urls): + u = url(self.source, filename, arch) + filename_out = self.dir + "/" + filename - f_in = urlopen(u) - f_out = open(filename_out, 'wb') - while 1: - r = f_in.read() - if not r: - break - f_out.write(r) - return filename_out + try: + f_in = urlopen(u) + except HTTPError as e: + if i == len(self.urls) - 1: + # No more URLs to try + raise + else: + continue + + f_out = open(filename_out, 'wb') + while 1: + r = f_in.read() + if not r: + break + f_out.write(r) + return filename_out def save_abi(self, version_abi, symbols, arch, featureset, flavour): dir = "debian/abi/%s" % version_abi @@ -190,12 +201,6 @@ class Main(object): if __name__ == '__main__': options = optparse.OptionParser() - options.add_option("-i", "--incoming", action="store_true", - dest="incoming") - options.add_option("--incoming-config", action="store_true", - dest="incoming_config") - options.add_option("--ports", action="store_true", dest="ports") - options.add_option("--security", action="store_true", dest="security") options.add_option("-u", "--url-base", dest="url_base", default=default_url_base) options.add_option("--url-base-incoming", dest="url_base_incoming", @@ -223,15 +228,5 @@ if __name__ == '__main__': url_base_ports = url_debian_ports_pool(opts.url_base_ports) url_base_ports_incoming = url_debian_flat(opts.url_base_ports_incoming) url_base_security = url_debian_security_pool(opts.url_base_security) - if opts.incoming_config: - url = url_config = url_base_incoming - else: - url_config = url_base - if opts.security: - url = url_base_security - elif opts.ports: - url = url_base_ports_incoming if opts.incoming else url_base_ports - else: - url = url_base_incoming if opts.incoming else url_base - Main(url, url_config, **kw)() + Main(**kw)() diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py index 1c125cfe15e6..5469300ab26c 100755 --- a/debian/bin/gencontrol.py +++ b/debian/bin/gencontrol.py @@ -38,6 +38,12 @@ class Gencontrol(Base): 'check-size': config.SchemaItemInteger(), 'check-size-with-dtb': config.SchemaItemBoolean(), 'check-uncompressed-size': config.SchemaItemInteger(), + 'depends': config.SchemaItemList(','), + 'provides': config.SchemaItemList(','), + 'suggests': config.SchemaItemList(','), + 'recommends': config.SchemaItemList(','), + 'conflicts': config.SchemaItemList(','), + 'breaks': config.SchemaItemList(','), }, 'relations': { }, @@ -371,11 +377,13 @@ class Gencontrol(Base): flavour) config_entry_description = self.config.merge('description', arch, featureset, flavour) - config_entry_image = self.config.merge('image', arch, featureset, - flavour) config_entry_relations = self.config.merge('relations', arch, featureset, flavour) + def config_entry_image(key, *args, **kwargs): + return self.config.get_merge( + 'image', arch, featureset, flavour, key, *args, **kwargs) + compiler = config_entry_base.get('compiler', 'gcc') # Work out dependency from linux-headers to compiler. Drop @@ -403,10 +411,11 @@ class Gencontrol(Base): image_fields = {'Description': PackageDescription()} for field in ('Depends', 'Provides', 'Suggests', 'Recommends', 'Conflicts', 'Breaks'): - image_fields[field] = PackageRelation(config_entry_image.get( - field.lower(), None), override_arches=(arch,)) + image_fields[field] = PackageRelation( + config_entry_image(field.lower(), None), + override_arches=(arch,)) - generators = config_entry_image['initramfs-generators'] + generators = config_entry_image('initramfs-generators') group = PackageRelationGroup() for i in generators: i = config_entry_relations.get(i, i) @@ -419,7 +428,7 @@ class Gencontrol(Base): item.arches = [arch] image_fields['Depends'].append(group) - bootloaders = config_entry_image.get('bootloaders') + bootloaders = config_entry_image('bootloaders', None) if bootloaders: group = PackageRelationGroup() for i in bootloaders: diff --git a/debian/bin/gencontrol_signed.py b/debian/bin/gencontrol_signed.py index 8d9436fdebc3..870191d78104 100755 --- a/debian/bin/gencontrol_signed.py +++ b/debian/bin/gencontrol_signed.py @@ -291,16 +291,21 @@ linux-signed-@arch@ (@signedsourceversion@) @distribution@; urgency=@urgency@ self.image_packages: package_dir = 'debian/%s' % image_package_name package_files = [] + package_modules = [] package_files.append({'sig_type': 'efi', 'file': 'boot/vmlinuz-%s' % image_suffix}) for root, dirs, files in os.walk('%s/lib/modules' % package_dir, onerror=raise_func): for name in files: if name.endswith('.ko'): - package_files.append( - {'sig_type': 'linux-module', - 'file': '%s/%s' % - (root[(len(package_dir) + 1):], name)}) + package_modules.append( + '%s/%s' % + (root[(len(package_dir) + 1):], name)) + package_modules.sort() + for module in package_modules: + package_files.append( + {'sig_type': 'linux-module', + 'file': module }) package_certs = [get_cert_fingerprint(cert, 'sha256') for cert in get_certs(cert_file_name)] assert len(package_certs) >= 1 |