aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xipsbuild.py1
-rw-r--r--ipsutils/build.py5
-rw-r--r--ipsutils/tasks.py5
3 files changed, 10 insertions, 1 deletions
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