Make linux* wait on corresponding -meta package

We want to treat linux-$flavor and linux-meta-$flavor as one set in britney
which goes in together or not at all. We never want to promote linux-$flavor
without the accompanying linux-meta-$flavor.

Introduce a synthetic linux* → linux-meta* dependency to enforce this grouping.
pre-rebase-2016-12-12
Martin Pitt 9 years ago committed by Martin Pitt
parent f8a1c5eb60
commit 01bc09e618

@ -1297,8 +1297,26 @@ class Britney(object):
parse_depends = self._parse_depends
get_dependency_solvers = self.get_dependency_solvers
# analyze the dependency fields (if present)
deps = binary_u.depends
# make linux* wait on corresponding -meta package
if src.startswith('linux'):
meta = src.replace('linux', 'linux-meta', 1)
if meta in self.sources[suite]:
# copy deps here, don't modify self.binaries!
if deps:
deps = deps + ', '
else:
deps = ''
# find binary of our architecture
for pkg_id in self.sources[suite][meta].binaries:
if pkg_id.architecture == arch:
binver = self.binaries[suite][arch][0][pkg_id.package_name].source_version
deps += '%s (>= %s)' % (pkg_id.package_name, binver)
self.log('Synthesizing dependency %s to %s: %s' % (meta, src, deps))
break
# analyze the dependency fields (if present)
if not deps:
return True
is_all_ok = True

Loading…
Cancel
Save