[jhbuild] Add xml attribute "skip-install" to autotools (GNOME bug 612886)



commit b07fdf0bfed704e8722922f59411076c574c964e
Author: Craig Keogh <cskeogh adam com au>
Date:   Fri Jun 8 14:28:54 2012 +0930

    Add xml attribute "skip-install" to autotools (GNOME bug 612886)
    
    Based upon patch by Marc-Andre Lureau.

 doc/C/index.docbook           |    2 ++
 jhbuild/modtypes/autotools.py |   11 ++++++++++-
 2 files changed, 12 insertions(+), 1 deletions(-)
---
diff --git a/doc/C/index.docbook b/doc/C/index.docbook
index c80bf69..c89820c 100644
--- a/doc/C/index.docbook
+++ b/doc/C/index.docbook
@@ -2656,6 +2656,7 @@ Optional packages: (JHBuild will build the missing packages)
 	      [ autogen-sh="<replaceable>autogen-sh</replaceable>" ]
 	      [ makefile="<replaceable>makefile</replaceable>" ]
 	      [ skip-autogen="<replaceable>skip-autogen</replaceable>" ]
+	      [ skip-install="<replaceable>skip-install</replaceable>" ]
 	      [ autogen-template="<replaceable>autogen-template</replaceable>" ]
 	      [ check-target="<replaceable>check-target</replaceable>" ]
 	      [ supports-non-srcdir-builds="<replaceable>supports-non-srcdir-builds</replaceable>" ]&gt;
@@ -2693,6 +2694,7 @@ Optional packages: (JHBuild will build the missing packages)
           not to run autogen.sh, it is a boolean with an extra
           <literal>never</literal> value to tell JHBuild to never skip running
           <command>autogen.sh</command>.
+<sgmltag class="attribute">skip-install</sgmltag> is a boolean attribute specifying whether to skip <command>make install</command> command on the module.
           <sgmltag class="attribute">makefile</sgmltag> specifies the filename
           of the makefile to use.</para>
 
diff --git a/jhbuild/modtypes/autotools.py b/jhbuild/modtypes/autotools.py
index df8ab0d..898952f 100644
--- a/jhbuild/modtypes/autotools.py
+++ b/jhbuild/modtypes/autotools.py
@@ -51,6 +51,7 @@ class AutogenModule(Package, DownloadableModule):
                  makeinstallargs='',
                  supports_non_srcdir_builds=True,
                  skip_autogen=False,
+                 skip_install_phase=False,
                  autogen_sh='autogen.sh',
                  makefile='Makefile',
                  autogen_template=None,
@@ -62,6 +63,7 @@ class AutogenModule(Package, DownloadableModule):
         self.makeinstallargs = makeinstallargs
         self.supports_non_srcdir_builds = supports_non_srcdir_builds
         self.skip_autogen = skip_autogen
+        self.skip_install_phase = skip_install_phase
         self.autogen_sh = autogen_sh
         self.makefile = makefile
         self.autogen_template = autogen_template
@@ -299,7 +301,7 @@ class AutogenModule(Package, DownloadableModule):
     do_install.depends = [PHASE_BUILD]
 
     def skip_install(self, buildscript, last_phase):
-        return self.config.noinstall
+        return self.config.noinstall or self.skip_install_phase
 
     def do_distclean(self, buildscript):
         buildscript.set_action(_('Distcleaning'), self)
@@ -318,6 +320,7 @@ class AutogenModule(Package, DownloadableModule):
                  ('supports-non-srcdir-builds',
                   'supports_non_srcdir_builds', True),
                  ('skip-autogen', 'skip_autogen', False),
+                 ('skip-install', 'skip_install_phase', False),
                  ('autogen-sh', 'autogen_sh', 'autogen.sh'),
                  ('makefile', 'makefile', 'Makefile'),
                  ('supports-static-analyzer', 'supports_static_analyzer', True),
@@ -346,6 +349,12 @@ def parse_autotools(node, config, uri, repositories, default_repo):
             instance.skip_autogen = True
         elif skip_autogen == 'never':
             instance.skip_autogen = 'never'
+    if node.hasAttribute('skip-install'):
+        skip_install = node.getAttribute('skip-install')
+        if skip_install.lower() in ('true', 'yes'):
+            instance.skip_install_phase = True
+        else:
+            instance.skip_install_phase = False
 
     if node.hasAttribute('check-target'):
         instance.check_target = (node.getAttribute('check-target') == 'true')



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]