summaryrefslogtreecommitdiffstats
path: root/source-builder/sb/build.py
diff options
context:
space:
mode:
Diffstat (limited to 'source-builder/sb/build.py')
-rw-r--r--source-builder/sb/build.py83
1 files changed, 48 insertions, 35 deletions
diff --git a/source-builder/sb/build.py b/source-builder/sb/build.py
index 8b6ae35..c9ff07a 100644
--- a/source-builder/sb/build.py
+++ b/source-builder/sb/build.py
@@ -273,14 +273,15 @@ class build:
def prep(self, package):
self.script.append('echo "==> %prep:"')
_prep = package.prep()
- for l in _prep:
- args = l.split()
- if args[0] == '%setup':
- self.setup(package, args)
- elif args[0].startswith('%patch'):
- self.patch(package, args)
- else:
- self.script.append(' '.join(args))
+ if _prep:
+ for l in _prep:
+ args = l.split()
+ if args[0] == '%setup':
+ self.setup(package, args)
+ elif args[0].startswith('%patch'):
+ self.patch(package, args)
+ else:
+ self.script.append(' '.join(args))
def build(self, package):
self.script.append('echo "==> clean %{buildroot}: ${SB_BUILD_ROOT}"')
@@ -290,18 +291,21 @@ class build:
(self.config.expand('%{__mkdir_p}')))
self.script.append('echo "==> %build:"')
_build = package.build()
- for l in _build:
- self.script.append(l)
+ if _build:
+ for l in _build:
+ self.script.append(l)
def install(self, package):
self.script.append('echo "==> %install:"')
_install = package.install()
- for l in _install:
- args = l.split()
- self.script.append(' '.join(args))
+ if _install:
+ for l in _install:
+ args = l.split()
+ self.script.append(' '.join(args))
def files(self, package):
- if self.create_tar_files:
+ if self.create_tar_files \
+ and not self.macros.get('%{_disable_packaging'):
self.script.append('echo "==> %files:"')
inpath = path.abspath(self.config.expand('%{buildroot}'))
tardir = path.abspath(self.config.expand('%{_tardir}'))
@@ -335,7 +339,8 @@ class build:
self.clean(package)
def cleanup(self):
- if not self.opts.no_clean():
+ package = self.main_package()
+ if not package.disabled() and not self.opts.no_clean():
buildroot = self.config.abspath('buildroot')
builddir = self.config.abspath('_builddir')
buildcxcdir = self.config.abspath('_buildcxcdir')
@@ -356,35 +361,43 @@ class build:
def make(self):
package = self.main_package()
- name = package.name()
- if self.canadian_cross():
- log.notice('package: (Cxc) %s' % (name))
+ if package.disabled():
+ log.notice('package: nothing to build')
else:
- log.notice('package: %s' % (name))
- log.trace('---- macro maps %s' % ('-' * 55))
- log.trace('%s' % (str(self.config.macros)))
- log.trace('-' * 70)
- self.script.reset()
- self.script.append(self.config.expand('%{___build_template}'))
- self.script.append('echo "=> ' + name + ':"')
- self.prep(package)
- self.build_package(package)
- if not self.opts.dry_run():
- self.builddir()
- sn = path.join(self.config.expand('%{_builddir}'), 'doit')
- log.output('write script: ' + sn)
- self.script.write(sn)
+ name = package.name()
if self.canadian_cross():
- log.notice('building: (Cxc) %s' % (name))
+ log.notice('package: (Cxc) %s' % (name))
else:
- log.notice('building: %s' % (name))
- self.run(sn)
+ log.notice('package: %s' % (name))
+ log.trace('---- macro maps %s' % ('-' * 55))
+ log.trace('%s' % (str(self.config.macros)))
+ log.trace('-' * 70)
+ self.script.reset()
+ self.script.append(self.config.expand('%{___build_template}'))
+ self.script.append('echo "=> ' + name + ':"')
+ self.prep(package)
+ self.build_package(package)
+ if not self.opts.dry_run():
+ self.builddir()
+ sn = path.join(self.config.expand('%{_builddir}'), 'doit')
+ log.output('write script: ' + sn)
+ self.script.write(sn)
+ if self.canadian_cross():
+ log.notice('building: (Cxc) %s' % (name))
+ else:
+ log.notice('building: %s' % (name))
+ self.run(sn)
def name(self):
packages = self.config.packages()
package = packages['main']
return package.name()
+ def disabled(self):
+ packages = self.config.packages()
+ package = packages['main']
+ return package.disabled()
+
def get_configs(opts):
def _scan(_path, ext):