summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/assemble-stratum5
-rwxr-xr-xtests/build-stratum-with-submodules.script2
-rwxr-xr-xtests/build-stratum.script2
-rwxr-xr-xtests/name-clash.script2
-rwxr-xr-xtests/stratum-overlap-keeps-directory-links.script2
-rwxr-xr-xtests/stratum-overlap-stomps-file-links.script2
6 files changed, 10 insertions, 5 deletions
diff --git a/scripts/assemble-stratum b/scripts/assemble-stratum
index fa4a0390..1fe9bd12 100755
--- a/scripts/assemble-stratum
+++ b/scripts/assemble-stratum
@@ -39,6 +39,7 @@ class AssembleStratum(cliapp.Application):
if self.settings['tarformat'] != "":
tarformat += self.settings['tarformat']
outfile = tarfile.open(args[1], tarformat)
+ # concatenate chunk tarballs
for chunk in chunklist:
path = os.path.join(self.settings['cachedir'], 'artifacts', chunk)
chunktar = tarfile.open(path, mode='r:*')
@@ -48,6 +49,10 @@ class AssembleStratum(cliapp.Application):
else:
outfile.addfile(tarinfo)
chunktar.close()
+ # add the stratum's metadata
+ if os.path.exists(args[0] + '.meta'):
+ outfile.add(args[0] + '.meta',
+ os.path.join('baserock', '%s.meta' % args[2]))
outfile.close()
AssembleStratum().run()
diff --git a/tests/build-stratum-with-submodules.script b/tests/build-stratum-with-submodules.script
index c67aa97e..7d44caf6 100755
--- a/tests/build-stratum-with-submodules.script
+++ b/tests/build-stratum-with-submodules.script
@@ -67,6 +67,6 @@ EOF
"$SRCDIR/scripts/test-morph" build test:morphs-repo master submod-stratum.morph
"$SRCDIR/scripts/assemble-stratum" --cachedir "$DATADIR/cache" \
"$DATADIR/cache/artifacts/"*submod-stratum \
- "$DATADIR/stratum.tar"
+ "$DATADIR/stratum.tar" submod-stratum
tar -tf "$DATADIR/stratum.tar" | LC_ALL=C sort | sed '/^\.\/./s:^\./::'
diff --git a/tests/build-stratum.script b/tests/build-stratum.script
index 8e16423e..f4fa15a1 100755
--- a/tests/build-stratum.script
+++ b/tests/build-stratum.script
@@ -22,6 +22,6 @@ set -eu
"$SRCDIR/scripts/test-morph" build test:morphs-repo master hello-stratum.morph
"$SRCDIR/scripts/assemble-stratum" --cachedir "$DATADIR/cache" \
"$DATADIR/cache/artifacts/"*.hello-stratum \
- "$DATADIR/stratum.tar"
+ "$DATADIR/stratum.tar" hello-stratum
tar -tf "$DATADIR/stratum.tar" | LC_ALL=C sort | sed '/^\.\/./s:^\./::'
diff --git a/tests/name-clash.script b/tests/name-clash.script
index 8187c813..dcc04a8a 100755
--- a/tests/name-clash.script
+++ b/tests/name-clash.script
@@ -58,6 +58,6 @@ INSTDIR="$DATADIR"/unpack
mkdir -p "$INSTDIR"
"$SRCDIR/scripts/assemble-stratum" --cachedir "$DATADIR/cache" \
"$DATADIR/cache/artifacts/"*hello-stratum \
- "$DATADIR/stratum.tar"
+ "$DATADIR/stratum.tar" hello-stratum
tar -C "$INSTDIR" -xhf "$DATADIR/stratum.tar"
test "$("$INSTDIR"/bin/hello)" = "hello, world"
diff --git a/tests/stratum-overlap-keeps-directory-links.script b/tests/stratum-overlap-keeps-directory-links.script
index b0a8522b..2c5916aa 100755
--- a/tests/stratum-overlap-keeps-directory-links.script
+++ b/tests/stratum-overlap-keeps-directory-links.script
@@ -28,7 +28,7 @@ mkdir -p "$extracted"
build test:morphs-repo overlap overlap-stratum.morph
for f in "$cache"/*.stratum.overlap-stratum; do
"$SRCDIR/scripts/assemble-stratum" --cachedir "$DATADIR/cache" \
- "$f" "$DATADIR/stratum.tar"
+ "$f" "$DATADIR/stratum.tar" overlap-stratum
tar -xf "$DATADIR/stratum.tar" -C "$extracted"
done
test -h "$extracted/usr"
diff --git a/tests/stratum-overlap-stomps-file-links.script b/tests/stratum-overlap-stomps-file-links.script
index 22271c2e..202e1f09 100755
--- a/tests/stratum-overlap-stomps-file-links.script
+++ b/tests/stratum-overlap-stomps-file-links.script
@@ -28,7 +28,7 @@ mkdir -p "$extracted"
build test:morphs-repo overlap overlap-stratum.morph
for f in "$cache"/*.stratum.overlap-stratum; do
"$SRCDIR/scripts/assemble-stratum" --cachedir "$DATADIR/cache" \
- "$f" "$DATADIR/stratum.tar"
+ "$f" "$DATADIR/stratum.tar" overlap-stratum
tar -xf "$DATADIR/stratum.tar" -C "$extracted"
done
test -f "$extracted/bin/foo"