diff options
author | Lars Wirzenius <liw@liw.fi> | 2011-10-05 10:54:05 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2011-10-05 10:54:05 +0100 |
commit | 95e102d655647e03b34c5f69ac473997141f9b5d (patch) | |
tree | 916338c80082b392184b1c7fc46dfc4e824f22a5 /morphlib | |
parent | ecd7a325095a0d19b8c3d76f578d85b979461d41 (diff) | |
download | morph-95e102d655647e03b34c5f69ac473997141f9b5d.tar.gz |
Add repo/ref for chunk metadata, and add stratum metadata to binaries.
Diffstat (limited to 'morphlib')
-rw-r--r-- | morphlib/builder.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/morphlib/builder.py b/morphlib/builder.py index 4cedf326..2227dc83 100644 --- a/morphlib/builder.py +++ b/morphlib/builder.py @@ -82,7 +82,7 @@ class Builder(object): self.ex.run(morph.test_commands) os.mkdir(self._inst) self.ex.run(morph.install_commands, as_root=True) - self.prepare_binary_metadata(morph, repo, ref) + self.prepare_binary_metadata(morph, repo=repo, ref=ref) self.create_chunk(morph, repo, ref) self.tempdir.clear() @@ -129,6 +129,7 @@ class Builder(object): (chunk_repo, chunk_ref)) filename = self.get_cached_name('chunk', chunk_repo, chunk_ref) self.unpack_chunk(filename) + self.prepare_binary_metadata(morph) self.create_stratum(morph) self.tempdir.clear() @@ -204,16 +205,19 @@ class Builder(object): scheme, netlock, path, params, query, frag = urlparse.urlparse(repo) return path - def prepare_binary_metadata(self, morph, repo, ref): + def prepare_binary_metadata(self, morph, **kwargs): '''Add metadata to a binary about to be built.''' meta = { 'name': morph.name, } + for key, value in kwargs.iteritems(): + meta[key] = value dirname = os.path.join(self._inst, 'baserock') filename = os.path.join(dirname, '%s.meta' % morph.name) - os.mkdir(dirname) + if not os.path.exists(dirname): + os.mkdir(dirname) with open(filename, 'w') as f: json.dump(meta, f) |