Skip to content

Commit

Permalink
Use metapackages to decide what's in the tarball, obsoleting packages…
Browse files Browse the repository at this point in the history
….txt

Signed-off-by: Simon McVittie <smcv@collabora.com>
  • Loading branch information
smcv committed Apr 18, 2019
1 parent 36e4ab1 commit 8849d36
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 276 deletions.
10 changes: 9 additions & 1 deletion build-runtime.py
Expand Up @@ -261,7 +261,15 @@ def parse_args():
args.architectures = ['amd64', 'i386']

if not args.packages_from and not args.metapackages:
args.packages_from = ['packages.txt']
args.metapackages = ['steamrt-libs', 'steamrt-legacy']

if args.debug:
args.metapackages.append('steamrt-libdevel')
args.metapackages.append('steamrt-libdevel-non-multiarch')
# Not really a metapackage, but we want it in the
# debug tarball only; container/chroot/Docker
# environments get libgl1-mesa-dev instead
args.metapackages.append('dummygl-dev')

return args

Expand Down
189 changes: 0 additions & 189 deletions packages.txt

This file was deleted.

5 changes: 4 additions & 1 deletion tests/build-runtime.py
Expand Up @@ -39,7 +39,10 @@ def test_default(self):
])
o = json.loads(j, encoding='utf-8')
self.assertEqual(o['architectures'], ['amd64', 'i386'])
self.assertEqual(o['packages_from'], ['packages.txt'])
self.assertEqual(o['packages_from'], [])
self.assertEqual(
sorted(o['metapackages']),
sorted(['steamrt-libs', 'steamrt-legacy']))

def test_architectures(self):
j = subprocess.check_output([
Expand Down
48 changes: 2 additions & 46 deletions tests/read-manifests.py
Expand Up @@ -97,47 +97,22 @@ def done_testing(self):

parser = argparse.ArgumentParser()
parser.add_argument(
'--packages-from', metavar='.../packages.txt',
help=('Assume build-runtime.py was told to include packages '
'listed in the given file'),
action='append', default=[],
# Ignored for backwards compat
'--packages-from', help=argparse.SUPPRESS,
)
parser.add_argument(
'manifests', metavar='*.deb822.gz', nargs='*',
help='Manifest files produced by build-runtime.py',
)
args = parser.parse_args()

if not args.packages_from:
args.packages_from = ['packages.txt']

# Don't fail if invoked without arguments
if not args.manifests:
print('1..0 # SKIP No manifest files provided')
sys.exit(0)

test = TapTest()

source_pkgs = set()
binary_pkgs = set()
packages_txt_binary_sources = {}

for packages_from in args.packages_from:
with open(packages_from) as reader:
for line in reader:
if line[0] != '#':
toks = line.split()
if len(toks) > 1:
source_pkgs.add(toks[0])
binary_pkgs.update(toks[1:])

for p in toks[1:]:
packages_txt_binary_sources[p] = toks[0]
# Automatic dbgsym packages are also OK
packages_txt_binary_sources[
p + '-dbgsym'
] = toks[0]

last = None

runtime_package_lists = set()
Expand Down Expand Up @@ -183,25 +158,6 @@ def done_testing(self):
):
binary = Binary(binary_stanza, binary_version_marker='+srt')

if binary.source == 'steamrt':
# Ignore steamrt metapackage
pass
elif binary.name not in packages_txt_binary_sources:
test.not_ok(
'Runtime %s contains %s, not listed in packages.txt'
% (f, binary.name))
elif packages_txt_binary_sources[binary.name] != binary.source:
test.not_ok(
'packages.txt thinks %s is built by source %s, '
'but %s_%s_%s was built by %s_%s'
% (
binary.name,
packages_txt_binary_sources[binary.name],
binary.name, binary.version, binary.arch,
binary.source, binary.source_version))
else:
test.ok('%s in packages.txt' % binary.name)

if (
binary.source not in sources
or binary.source_version not in sources[binary.source]
Expand Down
39 changes: 0 additions & 39 deletions webhelper/packages.txt

This file was deleted.

0 comments on commit 8849d36

Please sign in to comment.