[ostree] ostbuild: Default to (previous) --skip-built
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree] ostbuild: Default to (previous) --skip-built
- Date: Mon, 7 May 2012 21:55:46 +0000 (UTC)
commit f487500e506ada44c97afc76e45f3933d1b89f79
Author: Colin Walters <walters verbum org>
Date: Mon May 7 17:51:12 2012 -0400
ostbuild: Default to (previous) --skip-built
For components specified on the command line, we now force a rebuild.
There's also a new option to skip if the git revision matches, but
metadata changed (useful for now to avoid cascading builds if you know
you don't need it).
.../pyostbuild/builtin_build_components.py | 26 +++++++++++++------
1 files changed, 18 insertions(+), 8 deletions(-)
---
diff --git a/src/ostbuild/pyostbuild/builtin_build_components.py b/src/ostbuild/pyostbuild/builtin_build_components.py
index 11f45d4..74f7f5f 100755
--- a/src/ostbuild/pyostbuild/builtin_build_components.py
+++ b/src/ostbuild/pyostbuild/builtin_build_components.py
@@ -80,10 +80,14 @@ class OstbuildBuildComponents(builtins.Builtin):
sha.update(current_metadata_text)
current_meta_digest = sha.hexdigest()
- previous_build_version = run_sync_get_output(['ostree', '--repo=' + self.repo,
- 'rev-parse', buildname],
- stderr=open('/dev/null', 'w'),
- none_on_error=True)
+ if (self.buildopts.force_rebuild or
+ name in self.force_build_components):
+ previous_build_version = None
+ else:
+ previous_build_version = run_sync_get_output(['ostree', '--repo=' + self.repo,
+ 'rev-parse', buildname],
+ stderr=open('/dev/null', 'w'),
+ none_on_error=True)
if previous_build_version is not None:
log("Previous build of '%s' is %s" % (name, previous_build_version))
@@ -97,14 +101,15 @@ class OstbuildBuildComponents(builtins.Builtin):
if current_meta_digest == previous_meta_digest:
log("Metadata is unchanged from previous")
- if self.buildopts.skip_built:
- return False
+ return False
else:
current_vcs_version = component['revision']
previous_metadata = json.loads(previous_metadata_text)
previous_vcs_version = previous_metadata['revision']
if current_vcs_version == previous_vcs_version:
log("Metadata differs; VCS version unchanged")
+ if self.buildopts.skip_vcs_matches:
+ return False
for k,v in meta_copy.iteritems():
previous_v = previous_metadata.get(k)
if v != previous_v:
@@ -201,7 +206,8 @@ class OstbuildBuildComponents(builtins.Builtin):
def execute(self, argv):
parser = argparse.ArgumentParser(description=self.short_description)
- parser.add_argument('--skip-built', action='store_true')
+ parser.add_argument('--force-rebuild', action='store_true')
+ parser.add_argument('--skip-vcs-matches', action='store_true')
parser.add_argument('--prefix')
parser.add_argument('--src-snapshot')
parser.add_argument('--compose', action='store_true')
@@ -220,7 +226,10 @@ class OstbuildBuildComponents(builtins.Builtin):
self.buildopts = BuildOptions()
self.buildopts.shell_on_failure = args.shell_on_failure
- self.buildopts.skip_built = args.skip_built
+ self.buildopts.force_rebuild = args.force_rebuild
+ self.buildopts.skip_vcs_matches = args.skip_vcs_matches
+
+ self.force_build_components = set()
required_components = {}
component_architectures = {}
@@ -247,6 +256,7 @@ class OstbuildBuildComponents(builtins.Builtin):
if component is None:
fatal("Unknown component %r" % (name, ))
build_component_order.append(name)
+ self.force_build_components.add(name)
start_at_index = -1
if args.start_at is not None:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]