diff options
author | Richard Maw <richard.maw@codethink.co.uk> | 2012-10-26 14:55:09 +0000 |
---|---|---|
committer | Richard Maw <richard.maw@codethink.co.uk> | 2012-10-26 14:55:09 +0000 |
commit | 41d796afda6c1565acc3d265b1ec4938a9a242d9 (patch) | |
tree | c1b9f0022c266e60d9ce1aeeb9e0b6e306f293cb | |
parent | 15243493b945d87bc56d625b722060dd10799d15 (diff) | |
parent | d57a186e0ee06133843e0674cb0a883c05457761 (diff) | |
download | definitions-41d796afda6c1565acc3d265b1ec4938a9a242d9.tar.gz |
Merge branch 'samthursfield/write-etc-os-release' of git://git.baserock.org/baserock/morph
-rw-r--r-- | morphlib/builder2.py | 15 | ||||
-rwxr-xr-x | tests.as-root/disk-builds-rootfs-and-kernel.script | 1 | ||||
-rw-r--r-- | tests.as-root/disk-builds-rootfs-and-kernel.stdout | 3 | ||||
-rwxr-xr-x | tests.as-root/syslinux-disk-builds-rootfs-and-kernel.script | 1 | ||||
-rw-r--r-- | tests.as-root/syslinux-disk-builds-rootfs-and-kernel.stdout | 3 | ||||
-rwxr-xr-x | tests.as-root/tarball-image-is-sensible.script | 1 | ||||
-rw-r--r-- | tests.as-root/tarball-image-is-sensible.stdout | 2 |
7 files changed, 25 insertions, 1 deletions
diff --git a/morphlib/builder2.py b/morphlib/builder2.py index d3768054..0de0ebff 100644 --- a/morphlib/builder2.py +++ b/morphlib/builder2.py @@ -14,6 +14,7 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +import datetime import json import logging import os @@ -541,6 +542,18 @@ class SystemKindBuilder(BuilderBase): # pragma: no cover ldconfig(self.app.runcmd, path) + def write_metadata(self, instdir, artifact_name): + BuilderBase.write_metadata(self, instdir, artifact_name) + + os_release_file = os.path.join(instdir, 'etc', 'os-release') + if not os.path.exists(os.path.dirname(os_release_file)): + os.makedirs(os.path.dirname(os_release_file)) + with morphlib.savefile.SaveFile(os_release_file, 'w') as f: + f.write('Baserock %s, built from ref %s on %s\n' % + (self.artifact.source.morphology['name'], + self.artifact.source.original_ref, + datetime.date.today())) + def create_fstab(self, path): '''Create an /etc/fstab inside a system tree. @@ -615,7 +628,7 @@ class SystemBuilder(BuilderBase): # pragma: no cover system_kind, self.args, self.kwargs) logging.debug('Building system with %s' % repr(builder)) self.app.status(msg='Building system %(system_name)s', - system_name=self.artifact.name) + system_name=self.artifact.source.morphology['name']) return builder.build_and_cache() diff --git a/tests.as-root/disk-builds-rootfs-and-kernel.script b/tests.as-root/disk-builds-rootfs-and-kernel.script index 3b9174c2..0b3207e2 100755 --- a/tests.as-root/disk-builds-rootfs-and-kernel.script +++ b/tests.as-root/disk-builds-rootfs-and-kernel.script @@ -105,5 +105,6 @@ trap 'cd /; umount -d "$device"' INT TERM ERR cd "$DATADIR/mnt" find | LC_ALL=C sort -u +sed -e 's/ on [0-9\-]\+//' "$DATADIR/mnt/factory-run/etc/os-release" cd "$DATADIR" umount -d "$device" diff --git a/tests.as-root/disk-builds-rootfs-and-kernel.stdout b/tests.as-root/disk-builds-rootfs-and-kernel.stdout index 929f284d..7600c167 100644 --- a/tests.as-root/disk-builds-rootfs-and-kernel.stdout +++ b/tests.as-root/disk-builds-rootfs-and-kernel.stdout @@ -16,6 +16,7 @@ ./factory-run/boot/vmlinuz ./factory-run/etc ./factory-run/etc/fstab +./factory-run/etc/os-release ./factory/baserock ./factory/baserock/hello.meta ./factory/baserock/linux.meta @@ -28,3 +29,5 @@ ./factory/boot/vmlinuz ./factory/etc ./factory/etc/fstab +./factory/etc/os-release +Baserock system, built from ref custom diff --git a/tests.as-root/syslinux-disk-builds-rootfs-and-kernel.script b/tests.as-root/syslinux-disk-builds-rootfs-and-kernel.script index 746ca3c5..ffe6c1cf 100755 --- a/tests.as-root/syslinux-disk-builds-rootfs-and-kernel.script +++ b/tests.as-root/syslinux-disk-builds-rootfs-and-kernel.script @@ -113,5 +113,6 @@ trap 'cd /; umount -d "$device"' INT TERM ERR cd "$DATADIR/mnt" find | LC_ALL=C sort -u +sed -e 's/ on [0-9\-]\+//' "$DATADIR/mnt/factory-run/etc/os-release" cd "$DATADIR" umount -d "$device" diff --git a/tests.as-root/syslinux-disk-builds-rootfs-and-kernel.stdout b/tests.as-root/syslinux-disk-builds-rootfs-and-kernel.stdout index 1b643875..c5fe4661 100644 --- a/tests.as-root/syslinux-disk-builds-rootfs-and-kernel.stdout +++ b/tests.as-root/syslinux-disk-builds-rootfs-and-kernel.stdout @@ -17,6 +17,7 @@ ./factory-run/boot/vmlinuz ./factory-run/etc ./factory-run/etc/fstab +./factory-run/etc/os-release ./factory-run/extlinux.conf ./factory/baserock ./factory/baserock/hello.meta @@ -30,4 +31,6 @@ ./factory/boot/vmlinuz ./factory/etc ./factory/etc/fstab +./factory/etc/os-release ./factory/extlinux.conf +Baserock system, built from ref custom diff --git a/tests.as-root/tarball-image-is-sensible.script b/tests.as-root/tarball-image-is-sensible.script index 6e4af67b..056cc688 100755 --- a/tests.as-root/tarball-image-is-sensible.script +++ b/tests.as-root/tarball-image-is-sensible.script @@ -34,3 +34,4 @@ mkdir -p "$extracted" cd "$extracted" tar -xf "$tar" find . -mindepth 1 | xargs ls -dF | LC_ALL=C sort -u +sed -e 's/ on [0-9\-]\+//' "$extracted/etc/os-release" diff --git a/tests.as-root/tarball-image-is-sensible.stdout b/tests.as-root/tarball-image-is-sensible.stdout index 46a9409e..4bc5e6fb 100644 --- a/tests.as-root/tarball-image-is-sensible.stdout +++ b/tests.as-root/tarball-image-is-sensible.stdout @@ -16,4 +16,6 @@ ./boot/vmlinuz ./etc/ ./etc/fstab +./etc/os-release ./extlinux.conf +Baserock hello-tarball, built from ref tarball-links |