summaryrefslogtreecommitdiffstats
path: root/src/nbblib/bs.py
diff options
context:
space:
mode:
authorHans Ulrich Niedermann <hun@n-dimensional.de>2008-07-26 11:26:15 +0200
committerHans Ulrich Niedermann <hun@n-dimensional.de>2008-07-26 11:26:15 +0200
commit7a90533a806fd76e89795fff427473e7264662f7 (patch)
tree7bcf5c2f4455887a9786bdb60708126ef936329b /src/nbblib/bs.py
parent37ee99e8e72e2b8c50bec80f9b2bacc8dde04df7 (diff)
downloadnbb-releases.tar.gz
nbb-releases.tar.xz
nbb-releases.zip
nbb 0.2releases
* Switch to release tags including the package name * Make automake's "nbb make" depend on configure etc. Squashed commit of the following: commit 9c4a035b71c7648b006b91a52e86edb2baea5138 Author: Hans Ulrich Niedermann <hun@n-dimensional.de> Date: Sat Jul 26 10:36:31 2008 +0200 New version tag syntax: "make tag VER=1.2" commit fefebc702664a683ceeafa800b0fe75178d63037 Author: Hans Ulrich Niedermann <hun@n-dimensional.de> Date: Sat Jul 26 10:30:02 2008 +0200 Switch to release tags including the package name This will reduce tag confusion when we fork into a different project. A tag like nbb-1.2 or foo-tools-1.2 is much more useful than v1.2. commit 330c382390ffbe3c361a763d5cee6febe1b30f5e Author: Hans Ulrich Niedermann <hun@n-dimensional.de> Date: Tue Jul 22 12:08:41 2008 +0200 Remove obsolete .htaccess file commit b1d5fc06e235a45561bf53b4bfd07856cec4ea81 Author: Hans Ulrich Niedermann <hun@n-dimensional.de> Date: Thu Jul 24 15:03:14 2008 +0200 Make automake's "make" command depend on configure commit 958e81655ad143dfd54b099637db60db42f77fb0 Author: Hans Ulrich Niedermann <hun@n-dimensional.de> Date: Thu Jul 24 15:00:33 2008 +0200 Adjust testcases for absolute builddirs When configure is called as /path/to/configure instead of ../path/to/configure, the ".git/" test directories are reported by "git init" using absolute pathnames, not must ".git/". commit 72dac191283299c66356dc895eb6ba19982b16ab Author: Hans Ulrich Niedermann <hun@n-dimensional.de> Date: Thu Jul 24 14:59:19 2008 +0200 Fix typo in automake/distcheck test case commit 7ca2e00188d8668b6b1f4116559ddae4e3cbb35c Author: Hans Ulrich Niedermann <hun@n-dimensional.de> Date: Thu Jul 24 13:32:49 2008 +0200 Open 0.1.x section in NEWS commit e05a138e9e3099455fa23799550949512188b3c9 Author: Hans Ulrich Niedermann <hun@n-dimensional.de> Date: Tue Jul 22 08:40:31 2008 +0200 Add license review to TODO commit e2fd1f2e101486859899049147df7993c8042df7 Author: Hans Ulrich Niedermann <hun@n-dimensional.de> Date: Sat Jul 19 00:25:12 2008 +0200 Ensure cmp/mv/rm rules are correct and silent Make sure the "if cmp ... mv .. rm" in make rules are correct and useful, and the cmp is silent. commit b6e7a354ed1ab53aebdb775a800156629744a065 Author: Hans Ulrich Niedermann <hun@n-dimensional.de> Date: Wed Jul 16 21:03:36 2008 +0200 Reflect code progress in TODO file, add plans commit 9559ceb5def8ec5d2e5674e7bf25b484877b3e60 Author: Hans Ulrich Niedermann <hun@n-dimensional.de> Date: Wed Jul 16 06:12:30 2008 +0200 Fix some issues found by pylint/pychecker Includes real issues like wrong argument numbers and missing ancestor __init__() calls, whitespace and comment cleanups. Cannot "fix" everything because of a good amount of the warnings raised by pylint/pychecker are false alarms. commit c73487455e8d9a283fcb328eab8573c4c5bc73c7 Author: Hans Ulrich Niedermann <hun@n-dimensional.de> Date: Wed Jul 16 06:11:57 2008 +0200 Add pylint and pychecker checks as "lint" target
Diffstat (limited to 'src/nbblib/bs.py')
-rw-r--r--src/nbblib/bs.py60
1 files changed, 39 insertions, 21 deletions
diff --git a/src/nbblib/bs.py b/src/nbblib/bs.py
index f9215a2..44e901a 100644
--- a/src/nbblib/bs.py
+++ b/src/nbblib/bs.py
@@ -1,6 +1,6 @@
-########################################################################
-# Buildsystem Source Tree plugins
-########################################################################
+"""\
+Buildsystem Source Tree plugins
+"""
import os
@@ -54,7 +54,8 @@ class BSSourceTree(plugins.GenericDetectPlugin):
return super(BSSourceTree, cls).detect(context, vcs_tree)
- def get_tree_root(self): return self._get_tree_root()
+ def get_tree_root(self):
+ return self._get_tree_root()
tree_root = property(get_tree_root)
@@ -64,15 +65,24 @@ class BSSourceTree(plugins.GenericDetectPlugin):
# Abstract methods
@plugins.abstractmethod
- def _get_tree_root(self): pass
+ def _get_tree_root(self):
+ pass
+
@plugins.abstractmethod
- def init(self): pass
+ def init(self):
+ pass
+
@plugins.abstractmethod
- def configure(self): pass
+ def configure(self):
+ pass
+
@plugins.abstractmethod
- def build(self): pass
+ def build(self):
+ pass
+
@plugins.abstractmethod
- def install(self): pass
+ def install(self):
+ pass
class AutomakeSourceTree(BSSourceTree):
@@ -84,10 +94,10 @@ class AutomakeSourceTree(BSSourceTree):
srcdir = vcs_tree.tree_root
self.config = vcs_tree.config
flag = False
- for f in [ os.path.join(srcdir, 'configure.ac'),
- os.path.join(srcdir, 'configure.in'),
- ]:
- if os.path.exists(f):
+ for fname in [ os.path.join(srcdir, 'configure.ac'),
+ os.path.join(srcdir, 'configure.in'),
+ ]:
+ if os.path.exists(fname):
flag = True
break
if not flag:
@@ -106,20 +116,25 @@ class AutomakeSourceTree(BSSourceTree):
if not os.path.exists(os.path.join(self.config.srcdir, 'configure')):
self.init()
builddir = self.config.builddir
- if not os.path.exists(builddir): os.makedirs(builddir)
+ if not os.path.exists(builddir):
+ os.makedirs(builddir)
os.chdir(builddir)
progutils.prog_run(["%s/configure" % self.config.srcdir,
"--prefix=%s" % self.config.installdir,
"--enable-maintainer-mode",
], self.context)
- def build(self):
+ def make(self, *make_args):
"""'make'"""
builddir = self.config.builddir
if not os.path.exists(os.path.join(builddir, 'config.status')):
self.configure()
os.chdir(builddir)
- progutils.prog_run(["make", ], self.context)
+ progutils.prog_run(["make"] + list(make_args), self.context)
+
+ def build(self):
+ """'make'"""
+ self.make()
def install(self):
"""'make install'"""
@@ -140,9 +155,9 @@ class SconsSourceTree(BSSourceTree):
srcdir = vcs_tree.tree_root
self.config = vcs_tree.config
flag = False
- for f in [ os.path.join(srcdir, 'SConstruct'),
- ]:
- if os.path.exists(f):
+ for fname in [ os.path.join(srcdir, 'SConstruct'),
+ ]:
+ if os.path.exists(fname):
flag = True
break
if not flag:
@@ -152,8 +167,11 @@ class SconsSourceTree(BSSourceTree):
def _get_tree_root(self):
return self.__tree_root
- def init(self): pass
- def configure(self): pass
+ def init(self):
+ pass
+
+ def configure(self):
+ pass
def build(self):
progutils.prog_run(["scons"],