Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • devkit-renderdoc
  • master
  • wip/denittis/t17590_revised
  • wip/fix_populate_depot
  • wip/gameoverlayrenderer
  • wip/search_cwd
  • wip/shorten_socket
  • v0
  • v0.20201022.1
  • v0.20201124.0
  • v0.20201203.0
  • v0.20201210.0
  • v0.20210105.0
  • v0.20210114.1
  • v0.20210217.0
  • v0.20210309.0
  • v0.20210317.0
  • v0.20210430.0
  • v0.20210505.0
  • v0.20210518.0
  • v0.20210527.0
  • v0.20210608.0
  • v0.20210617.0
  • v0.20210623.0
  • v0.20210722.0
  • v0.20210806.0
  • v0.20210817.0
  • v0.20210818.0
  • v0.20210909.0
  • v0.20210917.0
  • v0.20211029.0
  • v0.20220311.0
  • v0.20220527.0
  • v0.20220620.0
  • v0.20220726.0
  • v0.20220803.0
  • v0.20220823.0
37 results

Target

Select target project
  • steamrt/steamlinuxruntime
1 result
Select Git revision
  • devkit-renderdoc
  • master
  • wip/denittis/t17590_revised
  • wip/fix_populate_depot
  • wip/gameoverlayrenderer
  • wip/search_cwd
  • wip/shorten_socket
  • v0
  • v0.20201022.1
  • v0.20201124.0
  • v0.20201203.0
  • v0.20201210.0
  • v0.20210105.0
  • v0.20210114.1
  • v0.20210217.0
  • v0.20210309.0
  • v0.20210317.0
  • v0.20210430.0
  • v0.20210505.0
  • v0.20210518.0
  • v0.20210527.0
  • v0.20210608.0
  • v0.20210617.0
  • v0.20210623.0
  • v0.20210722.0
  • v0.20210806.0
  • v0.20210817.0
  • v0.20210818.0
  • v0.20210909.0
  • v0.20210917.0
  • v0.20211029.0
  • v0.20220311.0
  • v0.20220527.0
  • v0.20220620.0
  • v0.20220726.0
  • v0.20220803.0
  • v0.20220823.0
37 results
Show changes
Commits on Source (24)
......@@ -126,6 +126,10 @@ while [ "$#" -gt 0 ]; do
(waitforexitandrun)
is_main=yes
;;
(run)
export PRESSURE_VESSEL_BATCH=1
is_main=
;;
(*)
is_main=
;;
......
......@@ -53,6 +53,7 @@ from typing import (
Optional,
Sequence,
Set,
Tuple,
)
from debian.deb822 import (
......@@ -481,11 +482,16 @@ exec "${{pressure_vessel}}/bin/pressure-vessel-unruntime" "$@"
class ComponentVersion:
def __init__(self, name: str = '') -> None:
def __init__(
self,
name: str = '',
sort_weight: int = 0,
) -> None:
self.name = name
self.version = ''
self.runtime = ''
self.runtime_version = ''
self.sort_weight = sort_weight
self.comment = ''
def __str__(self) -> str:
......@@ -499,6 +505,9 @@ class ComponentVersion:
return ret
def to_sort_key(self) -> Tuple[int, str]:
return (self.sort_weight, self.to_tsv())
def to_tsv(self) -> str:
if self.comment:
comment = '# ' + self.comment
......@@ -520,6 +529,7 @@ class Main:
credential_envs: Sequence[str] = (),
credential_hosts: Sequence[str] = (),
depot: str = 'depot',
depot_version: str = '',
images_uri: str = DEFAULT_IMAGES_URI,
include_archives: bool = False,
include_sdk: bool = False,
......@@ -592,6 +602,7 @@ class Main:
self.default_suite = suite
self.default_version = version
self.depot = os.path.abspath(depot)
self.depot_version = depot_version
self.images_uri = images_uri
self.include_archives = include_archives
self.layered = layered
......@@ -622,9 +633,7 @@ class Main:
n_sources += 1
if n_sources == 0:
# For now, default to historical behaviour.
# TODO: Eventually change this to version = 'latest'
pressure_vessel_from_runtime = 'scout'
pressure_vessel_version = 'latest'
elif n_sources > 1:
raise RuntimeError(
'Cannot combine more than one of '
......@@ -776,15 +785,6 @@ class Main:
self.merge_dir_into_depot(
os.path.join(self.source_dir, 'runtimes', 'scout-on-soldier')
)
# Copy the launcher script for compatibility
shutil.copy(
os.path.join(self.depot, 'run-in-scout'),
os.path.join(self.depot, 'run')
)
shutil.copy(
os.path.join(self.depot, 'run-in-scout'),
os.path.join(self.depot, '_v2-entry-point'),
)
if self.runtime.version:
self.unpack_ld_library_path = self.depot
......@@ -795,6 +795,8 @@ class Main:
local_version.version = version
local_version.runtime = 'scout'
local_version.runtime_version = version
local_version.comment = 'steam-runtime/'
self.versions.append(local_version)
else:
unspecified_version = ComponentVersion('LD_LIBRARY_PATH')
unspecified_version.version = '-'
......@@ -890,7 +892,11 @@ class Main:
if self.runtime.name == 'scout':
scout = self.runtime
else:
scout = self.new_runtime('scout', {}, default_suite='scout')
scout = self.new_runtime(
'scout',
dict(version='latest'),
default_suite='scout',
)
logger.info(
'Downloading LD_LIBRARY_PATH Steam Runtime from scout into %r',
self.unpack_ld_library_path)
......@@ -1143,7 +1149,13 @@ class Main:
except (OSError, subprocess.SubprocessError):
version = 'unknown'
component_version = ComponentVersion('SteamLinuxRuntime')
if self.depot_version:
component_version = ComponentVersion('depot', sort_weight=-1)
component_version.version = self.depot_version
component_version.comment = 'Overall version number'
self.versions.append(component_version)
component_version = ComponentVersion('scripts')
component_version.version = version
component_version.comment = 'Entry point scripts, etc.'
self.versions.append(component_version)
......@@ -1153,7 +1165,7 @@ class Main:
'#Name\tVersion\t\tRuntime\tRuntime_Version\tComment\n'
)
for entry in sorted(self.versions, key=lambda v: v.to_tsv()):
for entry in sorted(self.versions, key=lambda v: v.to_sort_key()):
logger.info('Component version: %s', entry)
writer.write(entry.to_tsv())
......@@ -1650,6 +1662,12 @@ def main() -> None:
'Download runtime into this existing directory'
)
)
parser.add_argument(
'--depot-version', default='',
help=(
'Set an overall version number for the depot contents'
)
)
parser.add_argument(
'--pressure-vessel-uri',
......
#!/usr/bin/env bash
set -eu
set -o pipefail
echo "*** Steam restart required for this Steam Linux Runtime update" >&2
"${STEAM_ZENITY:-zenity}" \
--error \
--title="Steam restart required" \
--width=400 \
--text="\
This version of the Steam Linux Runtime requires a configuration update.
Please exit from Steam completely, then launch Steam again.\
"
exit 1
# vim:set sw=4 sts=4 et:
......@@ -39,8 +39,10 @@ usage () {
main () {
local error
local getopt_temp="help"
local ours
local runtime
local src
local theirs
local verbose=
if [ "${STEAM_LINUX_RUNTIME_VERBOSE-}" = 1 ]; then
......@@ -110,37 +112,104 @@ main () {
[ -z "$verbose" ] || log "Command to run: $(printf '%q ' "$@")"
# Just because zenity was available on the host system doesn't mean
# it's available in this container (soldier doesn't currently have it)
unset STEAM_ZENITY
# it's available in this container. soldier historically didn't have it,
# but it was added in 0.20210618.0.
if [ -x /usr/bin/zenity ]; then
export STEAM_ZENITY=/usr/bin/zenity
else
unset STEAM_ZENITY
fi
if [ -d "${here}/steam-runtime" ]; then
runtime="${here}/steam-runtime"
src="${here}/steam-runtime"
[ -z "$verbose" ] || log "Using local scout runtime ${src}"
elif [ -n "${STEAM_RUNTIME_SCOUT-}" ] && [ -d "${STEAM_RUNTIME_SCOUT-}" ]; then
src="${STEAM_RUNTIME_SCOUT}"
[ -z "$verbose" ] || log "Using specified scout runtime ${src}"
else
# Note that this only works because setup.sh and run.sh do not take
# the $(realpath) of their $0.
runtime="${here}/var/steam-runtime"
mkdir -p "$runtime"
src="${STEAM_COMPAT_CLIENT_INSTALL_PATH:-"$HOME/.steam/root"}/ubuntu12_32/steam-runtime"
[ -z "$verbose" ] || log "Using default scout runtime ${src}"
fi
ln -fns "$src/amd64" "$runtime/"
ln -fns "$src/i386" "$runtime/"
ln -fns "$src/lib" "$runtime/"
ln -fns "$src/run.sh" "$runtime/"
ln -fns "$src/setup.sh" "$runtime/"
ln -fns "$src/usr" "$runtime/"
# Note that this only works because run.sh does not take the
# $(realpath) of its $0, and because we are no longer using setup.sh,
# which uses the equivalent of $(find ${top} -type l -name '*.so*')
# to list the libraries in the runtime (which wouldn't recurse into
# the subdirectories of var/steam-runtime in our case).
runtime="${here}/var/steam-runtime"
mkdir -p "$runtime"
if [ -e "$runtime/version.txt" ]; then
ours="$(cat "$runtime/version.txt" || echo none)"
else
ours=none
fi
[ -z "$verbose" ] || log "$runtime/setup.sh..."
theirs="$(cat "$src/version.txt")"
# Make sure pinning is up to date
if "$runtime/setup.sh" > /dev/null; then
: # OK
if [ "$ours" != "$theirs" ]; then
[ -z "$verbose" ] || log "scout runtime switched from '$ours' to '$theirs'"
printf '%s\n' "$theirs" > "$runtime/version.txt"
else
error="$?"
log "Error: setup.sh failed with exit status $error"
exit "$error"
[ -z "$verbose" ] || log "scout runtime version '$ours'"
fi
ln -fns "$src/amd64" "$runtime/"
ln -fns "$src/i386" "$runtime/"
ln -fns "$src/lib" "$runtime/"
ln -fns "$src/run.sh" "$runtime/"
ln -fns "$src/scripts" "$runtime/"
ln -fns "$src/setup.sh" "$runtime/"
ln -fns "$src/usr" "$runtime/"
mkdir -p "$runtime/pinned_libs_32"
mkdir -p "$runtime/pinned_libs_64"
# We know exactly what's in the soldier and scout runtimes, and we
# know soldier is strictly newer in all cases, so the only libraries
# we need to pin are those that we have hard-coded to be pinned;
# so we don't need to run setup.sh, and can do something more
# abbreviated.
# libcurl in the Steam Runtime is internally identified
# as libcurl.so.4, but with a symlink at libcurl.so.3
# as a result of some unfortunate ABI weirdness back in
# 2007. It also has Debian-specific symbol versioning as a
# result of the versioned symbols introduced as a
# Debian-specific change in 2005-2006, which were preserved
# across the rename from libcurl.so.3 to libcurl.so.4, not
# matching the versioned symbols that upstream subsequently
# added to libcurl.so.4; as a result, a system libcurl.so.4
# probably isn't going to be a drop-in replacement for our
# libcurl.
#
# Debian/Ubuntu subsequently (in 2018) switched to a SONAME
# and versioning that match upstream, but the Steam Runtime
# is based on a version that is older than that, so anything
# built against the Steam Runtime will expect the old SONAME
# and versioned symbols; make sure we use the Steam Runtime
# version.
ln -fns "$src/usr/lib/x86_64-linux-gnu/libcurl.so.4" \
"$runtime/pinned_libs_64/libcurl.so.4"
ln -fns "$src/usr/lib/i386-linux-gnu/libcurl.so.4" \
"$runtime/pinned_libs_32/libcurl.so.4"
# The version of libcurl.so.4 in the Steam Runtime is actually
# binary-compatible with the older libcurl.so.3 in Debian/Ubuntu,
# so pin it under both names.
ln -fns "$src/usr/lib/x86_64-linux-gnu/libcurl.so.4" \
"$runtime/pinned_libs_64/libcurl.so.3"
ln -fns "$src/usr/lib/i386-linux-gnu/libcurl.so.4" \
"$runtime/pinned_libs_32/libcurl.so.3"
# Deliberately not pinning libcurl-gnutls.so.[34]: soldier has a
# newer version of those, which is believed to be compatible with the
# ones in scout.
# Deliberately not pinning 32-bit libgtk-x11-2.0.so.0,
# libdbusmenu-gtk.so.4, libdbusmenu-glib.so.4, libdbus-1.so.3:
# in the normal scout runtime those are pinned for the benefit of the
# Steam client itself, but let's try keeping 32-bit games consistent
# with 64-bit games.
if [ -n "$saved_ld_preload" ]; then
case "$1" in
(*=*)
......
"manifest"
{
"version" "2"
"commandline" "/run-in-scout --"
"commandline" "/scout-on-soldier-entry-point-v2 --"
"require_tool_appid" "1391110"
}
......@@ -3,6 +3,34 @@
#
# SPDX-License-Identifier: MIT
r"""
To run manually:
./populate-depot.py \
--depot=depots/test \
--depot-version local \
--suite soldier \
--version latest \
--ssh-host ... \
--ssh-path .../steamrt-SUITE/snapshots \
--pressure-vessel-version latest \
--pressure-vessel-ssh-path .../pressure-vessel/snapshots \
--minimize \
--unpack-ld-library-path depots/ldlp \
--unpack-source steamrt \
--unpack-sources-into depots \
soldier
rm -fr depots/artifacts
mkdir depots/artifacts
TEST_CONTAINER_RUNTIME_SUITE=soldier \
TEST_CONTAINER_RUNTIME_LD_LIBRARY_PATH_RUNTIME=depots/ldlp/steam-runtime \
TEST_CONTAINER_RUNTIME_STEAMRT_SOURCE=depots/ldlp/steamrt \
AUTOPKGTEST_ARTIFACTS=depots/artifacts \
./tests/depot/pressure-vessel.py
"""
import contextlib
import json
import logging
......@@ -89,16 +117,32 @@ class TestPressureVessel(unittest.TestCase):
self.tmpdir = tempfile.TemporaryDirectory()
self.addCleanup(self.tmpdir.cleanup)
if self.ld_library_path_runtime is not None:
if os.access(self.ld_library_path_runtime, os.W_OK):
self.ld_library_path_runtime = os.path.abspath(
self.ld_library_path_runtime,
)
ldlp = self.ld_library_path_runtime
if ldlp is not None:
if os.access(ldlp, os.W_OK):
self.ld_library_path_runtime = ldlp = os.path.abspath(ldlp)
else:
old = self.ld_library_path_runtime
new = os.path.join(self.tmpdir.name, 'ldlp')
shutil.copytree(old, new, symlinks=True)
self.ld_library_path_runtime = new
ldlp = os.path.join(self.tmpdir.name, 'ldlp')
shutil.copytree(old, ldlp, symlinks=True)
self.ld_library_path_runtime = ldlp
if self.suite == 'soldier' and ldlp is not None:
self.scout_layered = os.path.abspath(
'runtimes/scout-on-soldier'
)
old = self.scout_layered
new = os.path.join(self.tmpdir.name, 'scout-on-soldier')
shutil.copytree(old, new, symlinks=True)
os.symlink(
self.ld_library_path_runtime,
os.path.join(new, 'steam-runtime'),
)
self.scout_layered = new
else:
self.scout_layered = ''
artifacts = os.getenv('AUTOPKGTEST_ARTIFACTS')
......@@ -204,7 +248,6 @@ class TestPressureVessel(unittest.TestCase):
with self.catch('List contents of depot'):
completed = self.run_subprocess(
['find', '.', '-ls'],
check=True,
cwd=self.depot,
stdout=tee.stdin,
stderr=subprocess.PIPE,
......@@ -218,6 +261,8 @@ class TestPressureVessel(unittest.TestCase):
else:
logger.info('(no stderr)')
completed.check_returncode()
with self.catch('Read VERSION.txt'):
with open(
os.path.join(
......@@ -254,7 +299,6 @@ class TestPressureVessel(unittest.TestCase):
exe_path,
'--version',
],
check=True,
cwd=self.depot,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
......@@ -273,42 +317,55 @@ class TestPressureVessel(unittest.TestCase):
else:
logger.info('(no stderr)')
with open(
completed.check_returncode()
with self.tee_file_and_stderr(
os.path.join(self.artifacts, 's-r-s-i-outside.json'),
'w',
) as writer:
) as tee:
with self.catch('steam-runtime-system-info outside container'):
completed = self.run_subprocess(
[
'env',
'G_MESSAGES_DEBUG=all',
os.path.join(
'pressure-vessel', 'bin',
'steam-runtime-system-info',
),
'--verbose',
],
check=True,
cwd=self.depot,
stdout=writer,
stdout=tee.stdin,
stderr=subprocess.PIPE,
)
if completed.stderr:
logger.info(
'steam-runtime-system-info --verbose (stderr) -> %s',
completed.stderr,
'steam-runtime-system-info --verbose (stderr) ->\n%s',
completed.stderr.decode('utf-8', 'backslashreplace'),
)
else:
logger.info('(no stderr)')
completed.check_returncode()
self.get_runtime_build_id()
def get_pressure_vessel_adverb(
self,
ld_library_path_runtime=None # type: typing.Optional[str]
ld_library_path_runtime=None, # type: typing.Optional[str]
scout_layered=False
):
# type: (...) -> typing.List[str]
adverb = [
os.path.join(self.depot, 'run-in-' + self.suite),
]
if self.ld_library_path_runtime is not None:
adverb = adverb + [
'--filesystem=' + self.ld_library_path_runtime,
]
adverb = adverb + [
'--verbose',
'--',
]
......@@ -318,15 +375,50 @@ class TestPressureVessel(unittest.TestCase):
os.path.join(ld_library_path_runtime, 'run.sh'),
] + adverb
if scout_layered:
adverb = adverb + [
os.path.join(
self.scout_layered,
'scout-on-soldier-entry-point-v2',
),
'--verbose',
'--',
]
return adverb
def test_pressure_vessel(
self,
artifact_prefix='s-r-s-i-inside',
ld_library_path_runtime=None # type: typing.Optional[str]
ld_library_path_runtime=None, # type: typing.Optional[str]
scout_layered=False
) -> None:
if scout_layered:
with self.tee_file_and_stderr(
os.path.join(self.artifacts, 'scout-layered-contents.txt')
) as tee, self.catch(
'List contents of scout_layered'
):
completed = self.run_subprocess(
['find', '.', '-ls'],
cwd=self.scout_layered,
stdout=tee.stdin,
stderr=subprocess.PIPE,
)
if completed.stderr:
logger.info(
'(stderr) ->\n%s',
completed.stderr.decode('utf-8', 'backslashreplace'),
)
else:
logger.info('(no stderr)')
completed.check_returncode()
adverb = self.get_pressure_vessel_adverb(
ld_library_path_runtime=ld_library_path_runtime,
scout_layered=scout_layered,
)
with self.catch('cat /etc/os-release in container'):
......@@ -335,7 +427,6 @@ class TestPressureVessel(unittest.TestCase):
cwd=self.tmpdir.name,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
check=True,
)
logger.info(
......@@ -351,17 +442,20 @@ class TestPressureVessel(unittest.TestCase):
else:
logger.info('(no stderr)')
with open(
completed.check_returncode()
with self.tee_file_and_stderr(
os.path.join(self.artifacts, artifact_prefix + '.json'),
'w',
) as writer:
) as tee:
with self.catch('run s-r-s-i in container'):
completed = self.run_subprocess(
adverb + ['steam-runtime-system-info', '--verbose'],
adverb + [
'env', 'G_MESSAGES_DEBUG=all',
'steam-runtime-system-info', '--verbose'
],
cwd=self.tmpdir.name,
stdout=writer,
stdout=tee.stdin,
stderr=subprocess.PIPE,
check=True,
)
if completed.stderr:
......@@ -372,6 +466,8 @@ class TestPressureVessel(unittest.TestCase):
else:
logger.info('(no stderr)')
completed.check_returncode()
with open(
os.path.join(self.artifacts, artifact_prefix + '.json'),
'r',
......@@ -389,7 +485,13 @@ class TestPressureVessel(unittest.TestCase):
diagnostic=parsed.get('runtime'),
):
self.assertIn('runtime', parsed)
self.assertEqual('/', parsed['runtime'].get('path'))
if scout_layered:
self.assertEqual(
os.path.join(self.scout_layered, 'var', 'steam-runtime'),
parsed['runtime'].get('path'),
)
else:
self.assertEqual('/', parsed['runtime'].get('path'))
self.assertIn('version', parsed['runtime'])
issues = parsed['runtime'].get('issues', [])
self.assertNotIn('disabled', issues)
......@@ -405,8 +507,13 @@ class TestPressureVessel(unittest.TestCase):
# we want to be able to test unofficial runtimes too
self.assertIn('overrides', parsed['runtime'])
self.assertNotIn('pinned_libs_32', parsed['runtime'])
self.assertNotIn('pinned_libs_64', parsed['runtime'])
if scout_layered:
self.assertIn('pinned_libs_32', parsed['runtime'])
self.assertIn('pinned_libs_64', parsed['runtime'])
else:
self.assertNotIn('pinned_libs_32', parsed['runtime'])
self.assertNotIn('pinned_libs_64', parsed['runtime'])
with self.catch(
'os-release information',
......@@ -515,6 +622,21 @@ class TestPressureVessel(unittest.TestCase):
'TEST_CONTAINER_RUNTIME_LD_LIBRARY_PATH_RUNTIME not provided'
)
def test_scout_layered(self) -> None:
if self.suite != 'soldier':
self.skipTest('Suite is not soldier')
elif self.ld_library_path_runtime is not None:
assert self.scout_layered
self.test_pressure_vessel(
artifact_prefix='scout-layered',
ld_library_path_runtime=self.ld_library_path_runtime,
scout_layered=True,
)
else:
self.skipTest(
'TEST_CONTAINER_RUNTIME_LD_LIBRARY_PATH_RUNTIME not provided'
)
def test_steamrt_platform(self) -> None:
steamrt_source = self.steamrt_source
......
......@@ -99,10 +99,15 @@ find depots/test-scout-layered -ls > depots/test-scout-layered.txt
test -e depots/test-scout-layered/README.md
test -e depots/test-scout-layered/VERSIONS.txt
test -e depots/test-scout-layered/toolmanifest.vdf
test -x depots/test-scout-layered/run
test -x depots/test-scout-layered/run-in-scout
test -x depots/test-scout-layered/scout-on-soldier-entry-point-v2
test -x depots/test-scout-layered/_v2-entry-point
test ! -e depots/test-scout-layered/steam-runtime
if ! grep $'^LD_LIBRARY_PATH\t-\tscout\t-\t#' depots/test-scout-layered/VERSIONS.txt >/dev/null; then
echo "Bail out! LD_LIBRARY_PATH runtime's (lack of) version number not found"
exit 1
fi
echo "ok 3 - scout, layered on soldier, reusing standard LDLP runtime"
rm -fr depots/test-scout-layered-beta
......@@ -119,11 +124,16 @@ find depots/test-scout-layered-beta -ls > depots/test-scout-layered-beta.txt
test -e depots/test-scout-layered-beta/README.md
test -e depots/test-scout-layered-beta/VERSIONS.txt
test -e depots/test-scout-layered-beta/toolmanifest.vdf
test -x depots/test-scout-layered-beta/run
test -x depots/test-scout-layered-beta/run-in-scout
test -x depots/test-scout-layered-beta/scout-on-soldier-entry-point-v2
test -x depots/test-scout-layered-beta/_v2-entry-point
test -e depots/test-scout-layered-beta/steam-runtime/version.txt
test -d depots/test-scout-layered-beta/steam-runtime/usr/
if ! grep -E $'^LD_LIBRARY_PATH\t[0-9.]+\tscout\t[0-9.]+\t#' depots/test-scout-layered-beta/VERSIONS.txt >/dev/null; then
echo "Bail out! LD_LIBRARY_PATH runtime's version number not found"
exit 1
fi
echo "ok 4 - scout, layered on soldier, with own copy of beta LDLP runtime"
# vim:set sw=4 sts=4 et:
......@@ -62,6 +62,7 @@ rm -fr depots/test-soldier-archives
mkdir -p depots/test-soldier-archives
python3 ./populate-depot.py \
--depot=depots/test-soldier-archives \
--depot-version=0.1.2.3 \
--toolmanifest \
--include-archives \
--no-unpack-runtime \
......@@ -73,6 +74,11 @@ find depots/test-soldier-archives -ls > depots/test-soldier-archives.txt
tar -tf "depots/test-soldier-archives/${archive}-runtime.tar.gz" \
> depots/test-soldier-archives-tar.txt
if ! grep $'^depot\t0\\.1\\.2\\.3\t' depots/test-soldier-archives/VERSIONS.txt >/dev/null; then
echo "Bail out! Depot version number not found"
exit 1
fi
buildid="$(cat "depots/test-soldier-archives/$archive-buildid.txt")"
soldier_version="$(
IFS="$(printf '\t')"
......