aboutsummaryrefslogtreecommitdiffstats
path: root/debian/bin
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2019-05-04 23:00:55 +0100
committerBen Hutchings <ben@decadent.org.uk>2019-05-04 23:22:22 +0100
commit60bf994b386e31cf64cd73b79cf4c804c2cd896b (patch)
tree7319c9bd1283e286297d7f3ae87a3d00695f5b65 /debian/bin
parent471eb871aeaa8933a5db8dde00978d94d3d3f5c6 (diff)
parentf79da03296f2104dbe9d6af15594c7404c9f71fd (diff)
downloadkernel_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-xdebian/bin/abiupdate.py73
-rwxr-xr-xdebian/bin/gencontrol.py21
-rwxr-xr-xdebian/bin/gencontrol_signed.py13
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