diff --git a/debian/bin/abiupdate.py b/debian/bin/abiupdate.py index f557a98e1..2808b3f51 100755 --- a/debian/bin/abiupdate.py +++ b/debian/bin/abiupdate.py @@ -68,9 +68,9 @@ class Main(object): self.version = changelog.version.linux_version self.version_source = changelog.version.complete - local_config = ConfigCoreDump(fp=open("debian/config.defines.dump", "rb")) + self.config = ConfigCoreDump(fp=open("debian/config.defines.dump", "rb")) - self.version_abi = local_config['version', ]['abiname'] + self.version_abi = self.config['version', ]['abiname'] def __call__(self): self.dir = tempfile.mkdtemp(prefix='abiupdate') @@ -99,13 +99,18 @@ class Main(object): return base_out def get_abi(self, arch, prefix): - filename = "linux-headers-%s-%s_%s_%s.deb" % (self.version_abi, prefix, self.version_source, arch) + try: + version_abi = (self.config['version',]['abiname_base'] + '-' + + self.config['abi', arch]['abiname']) + except KeyError: + 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) d = self.extract_package(f, "linux-headers-%s_%s" % (prefix, arch)) - f1 = d + "/usr/src/linux-headers-%s-%s/Module.symvers" % (self.version_abi, prefix) + f1 = d + "/usr/src/linux-headers-%s-%s/Module.symvers" % (version_abi, prefix) s = Symbols(open(f1)) shutil.rmtree(d) - return s + return version_abi, s def get_config(self): filename = "linux-support-%s_%s_all.deb" % (self.version_abi, self.version_source) @@ -129,8 +134,8 @@ class Main(object): f_out.write(r) return filename_out - def save_abi(self, symbols, arch, featureset, flavour): - dir = "debian/abi/%s" % self.version_abi + def save_abi(self, version_abi, symbols, arch, featureset, flavour): + dir = "debian/abi/%s" % version_abi if not os.path.exists(dir): os.makedirs(dir) out = "%s/%s_%s_%s" % (dir, arch, featureset, flavour) @@ -170,8 +175,8 @@ class Main(object): else: localversion = featureset + '-' + flavour - abi = self.get_abi(arch, localversion) - self.save_abi(abi, arch, featureset, flavour) + version_abi, abi = self.get_abi(arch, localversion) + self.save_abi(version_abi, abi, arch, featureset, flavour) self.log("Ok.\n") except HTTPError as e: self.log("Failed to retrieve %s: %s\n" % (e.filename, e)) diff --git a/debian/bin/buildcheck.py b/debian/bin/buildcheck.py index a6f6f062f..38241df87 100755 --- a/debian/bin/buildcheck.py +++ b/debian/bin/buildcheck.py @@ -44,13 +44,11 @@ class CheckAbi(object): self.filename_new = "%s/Module.symvers" % dir - upstream_version = self.config['version',]['upstream'] try: - version_abi = (upstream_version + '-' + + version_abi = (self.config['version',]['abiname_base'] + '-' + self.config['abi', arch]['abiname']) except KeyError: - version_abi = (upstream_version + '-' + - self.config['abi', ]['abiname']) + version_abi = self.config['version',]['abiname'] self.filename_ref = "debian/abi/%s/%s_%s_%s" % (version_abi, arch, featureset, flavour) def __call__(self, out): diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py index 6c0701dce..e72921ffc 100755 --- a/debian/bin/gencontrol.py +++ b/debian/bin/gencontrol.py @@ -477,6 +477,7 @@ class Gencontrol(Base): } self.config['version', ] = {'source': self.version.complete, 'upstream': self.version.linux_upstream, + 'abiname_base': self.abiname_version, 'abiname': (self.abiname_version + self.abiname_part)} diff --git a/debian/changelog b/debian/changelog index 6924d507c..97f84691b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,8 @@ linux (3.16.7-ckt2-2) UNRELEASED; urgency=medium [ Ben Hutchings ] * [sh4] Build with gcc-4.8 (Closes: #772602) + * Fix inconsistent ABI name generation in + debian/bin/{abiupdate,buildcheck,gencontrol}.py (Closes: #773233) [ Ian Campbell ] * [armhf] Enable support for support OMAP5432 uEVM by enabling: