diff options
author | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2012-10-26 12:35:16 +0100 |
---|---|---|
committer | Sam Thursfield <sam.thursfield@codethink.co.uk> | 2012-10-26 15:09:36 +0100 |
commit | d57a186e0ee06133843e0674cb0a883c05457761 (patch) | |
tree | c1b9f0022c266e60d9ce1aeeb9e0b6e306f293cb /morphlib/builder2.py | |
parent | 15243493b945d87bc56d625b722060dd10799d15 (diff) | |
download | morph-d57a186e0ee06133843e0674cb0a883c05457761.tar.gz |
Write /etc/os-release in system images
This is intended to for human consumption, with the full set of
metadata in /baserock/system-artifact-name.meta. It currently lists
system name, the symbolic ref of the system morphology and build date.
Diffstat (limited to 'morphlib/builder2.py')
-rw-r--r-- | morphlib/builder2.py | 15 |
1 files changed, 14 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() |