Skip to content
Snippets Groups Projects
Commit edfdb3f5 authored by Simon McVittie's avatar Simon McVittie
Browse files

Record build ID in /usr/lib/os-release

parent 612d456f
No related branches found
No related tags found
No related merge requests found
......@@ -7,8 +7,8 @@
{{- $mergedusr := or .mergedusr "false" }}
{{- $keyring := or .keyring "" -}}
{{- $keyringpackage := or .keyringpackage "" -}}
{{- $version := or .version "0" -}}
{{- $artifact_prefix := or .artifact_prefix (printf "base-%s-%s-%s" $suite $version $architecture) -}}
{{- $build_id := or .build_id "" -}}
{{- $artifact_prefix := or .artifact_prefix (printf "base-%s-%s" $suite $architecture) -}}
{{- $ospack := or .ospack (printf "%s.tar.gz" $artifact_prefix) -}}
architecture: {{ $architecture }}
......@@ -113,6 +113,11 @@ actions:
cp "$ROOTDIR/usr/manifest.dpkg" "$ARTIFACTDIR/{{ $artifact_prefix }}.manifest.dpkg"
cp "$ROOTDIR/usr/manifest.dpkg.built-using" "$ARTIFACTDIR/{{ $artifact_prefix }}.manifest.dpkg.built-using"
cp "$ROOTDIR/usr/manifest.deb822.gz" "$ARTIFACTDIR/{{ $artifact_prefix }}.manifest.deb822.gz"
if test -e "$ROOTDIR/usr/lib/os-release" && test -n "{{ $build_id }}"; then
sed -n -i -e '/^BUILD_ID=/!p' "$ROOTDIR/usr/lib/os-release"
echo 'BUILD_ID="{{ $build_id }}"' >> "$ROOTDIR/usr/lib/os-release"
cp "$ROOTDIR/usr/lib/os-release" "$ARTIFACTDIR/{{ $artifact_prefix }}.os-release.txt"
fi
# No point in archiving these
- action: run
......
......@@ -9,8 +9,8 @@
{{- $sdk_post_script := or .sdk_post_script "" -}}
{{- $platform_post_script := or .platform_post_script "" -}}
{{- $strip_source_version_suffix := or .strip_source_version_suffix "" -}}
{{- $version := or .version "0" -}}
{{- $ospack := or .ospack (printf "base_%s_%s_%s.tar.gz" $suite $version $architecture) -}}
{{- $build_id := or .build_id "" -}}
{{- $ospack := or .ospack (printf "base-%s-%s.tar.gz" $suite $architecture) -}}
{{- $runtime := .runtime -}}
{{- $runtime_branch := or .runtime_branch "master" -}}
{{- $artifact_prefix := or .artifact_prefix (printf "%s-%s-%s" $runtime $flatpak_arch $runtime_branch) -}}
......@@ -125,6 +125,11 @@ actions:
cp "$ROOTDIR/usr/manifest.dpkg" "$ARTIFACTDIR/{{ $artifact_prefix }}.manifest.dpkg"
cp "$ROOTDIR/usr/manifest.dpkg.built-using" "$ARTIFACTDIR/{{ $artifact_prefix }}.manifest.dpkg.built-using"
cp "$ROOTDIR/usr/manifest.deb822.gz" "$ARTIFACTDIR/{{ $artifact_prefix }}.manifest.deb822.gz"
if test -e "$ROOTDIR/usr/lib/os-release" && test -n "{{ $build_id }}"; then
sed -n -i -e '/^BUILD_ID=/!p' "$ROOTDIR/usr/lib/os-release"
echo 'BUILD_ID="{{ $build_id }}"' >> "$ROOTDIR/usr/lib/os-release"
cp "$ROOTDIR/usr/lib/os-release" "$ARTIFACTDIR/{{ $artifact_prefix }}.os-release.txt"
fi
{{ if $sdk }}
- action: run
......
......@@ -202,6 +202,7 @@ class Builder:
self.strip_source_version_suffix = None
self.apt_keyrings = []
self.apt_sources = []
self.build_id = None
self.logger = logger.getChild('Builder')
......@@ -362,6 +363,8 @@ class Builder:
'--add-apt-keyring', action='append', default=[])
parser.add_argument(
'--generate-sysroot-tarball', action='store_true')
parser.add_argument(
'--build-id', default=None)
subparsers = parser.add_subparsers(dest='command', metavar='command')
subparser = subparsers.add_parser(
......@@ -403,6 +406,7 @@ class Builder:
os.chdir(args.chdir)
self.build_area = args.build_area
self.build_id = args.build_id
self.apt_suite = args.suite
self.runtime_branch = args.runtime_branch
self.ostree_repo = args.ostree_repo
......@@ -586,6 +590,10 @@ class Builder:
),
]
if self.build_id is not None:
argv.append('-t')
argv.append('build_id:{}'.format(self.build_id))
for keyring in self.apt_keyrings:
if os.path.exists(os.path.join('suites', keyring)):
keyring = os.path.join('suites', keyring)
......@@ -733,6 +741,10 @@ class Builder:
self.strip_source_version_suffix),
]
if self.build_id is not None:
argv.append('-t')
argv.append('build_id:{}'.format(self.build_id))
if packages:
logger.info('Installing packages:')
packages.sort()
......@@ -1136,6 +1148,11 @@ class Builder:
'Runtime', 'x-flatdeb-version', VERSION,
)
if self.build_id is not None:
keyfile.set_string(
'Runtime', 'x-flatdeb-build-id', self.build_id,
)
for ext, detail in self.runtime_details.get(
'add-extensions', {}
).items():
......@@ -1188,6 +1205,11 @@ class Builder:
'Runtime', 'x-flatdeb-version', VERSION,
)
if self.build_id is not None:
keyfile.set_string(
'Runtime', 'x-flatdeb-build-id', self.build_id,
)
keyfile.save_to_file(metadata)
metadata = os.path.join(overlay, 'src', 'metadata')
......@@ -1216,6 +1238,11 @@ class Builder:
'Runtime', 'x-flatdeb-version', VERSION,
)
if self.build_id is not None:
keyfile.set_string(
'Runtime', 'x-flatdeb-build-id', self.build_id,
)
keyfile.save_to_file(metadata)
def command_app(self, *, app_branch, yaml_manifest, **kwargs):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment