From 49394a3d01f05b92ea6635b0fd88f7a1d3a8b14a Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Mon, 29 Jul 2013 16:27:38 -0400 Subject: Feature: --nodepsolve disables dependency resolution (GOOD FOR META PACKAGING\!) --- ipsbuild.py | 1 + ipsutils/build.py | 5 ++++- ipsutils/tasks.py | 5 +++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ipsbuild.py b/ipsbuild.py index d9f8a21..b7ba895 100755 --- a/ipsbuild.py +++ b/ipsbuild.py @@ -22,6 +22,7 @@ import os parser = argparse.ArgumentParser(description='Build Solaris 11 packages from .ips spec files') parser.add_argument('--version', action="store_true", help='Show version information') parser.add_argument('--verbose', action="store_true", help='Increased verbosity') +parser.add_argument('--nodepsolve', action="store_true", help='Disable dependency resolution') parser.add_argument('--lint', action="store_true", help='Enables deep packaging checks') parser.add_argument('--fast', action="store_true", help='Use system tools to extract source archive') parser.add_argument('spec', nargs='*', help='An ipsutils spec file') diff --git a/ipsutils/build.py b/ipsutils/build.py index 34839fb..b4848c0 100644 --- a/ipsutils/build.py +++ b/ipsutils/build.py @@ -49,7 +49,8 @@ class Build(env.Environment): self.controller.task(tasks.Manifest(cls=self)) self.controller.task(tasks.Transmogrify(cls=self)) self.controller.task(tasks.Dependencies(cls=self)) - self.controller.task(tasks.Resolve_Dependencies(cls=self)) + if not self.options.nodepsolve: + self.controller.task(tasks.Resolve_Dependencies(cls=self)) self.controller.task(tasks.AlignPermissions(cls=self)) if self.options.lint: self.controller.task(tasks.Lint(cls=self)) @@ -60,4 +61,6 @@ class Build(env.Environment): def show_summary(self): print("Summary of {0:s}".format(self.key_dict['name'])) for k, v in self.key_dict.items(): + if not v: + continue print("+ {0:s}: {1:s}".format(k, v)) diff --git a/ipsutils/tasks.py b/ipsutils/tasks.py index 8ab2158..e1bfe98 100644 --- a/ipsutils/tasks.py +++ b/ipsutils/tasks.py @@ -108,6 +108,11 @@ class Dependencies(task.Task): err = proc_pkg.wait() fp.flush() fp.close() + + if vars(self.cls.options)['nodepsolve']: + shutil.copy2(self.cls.env_meta['STAGE3'], \ + self.cls.env_meta['STAGE4']) + if err <= 1: err = 0 return err -- cgit