summaryrefslogtreecommitdiff
path: root/scripts/build-config
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/build-config')
-rwxr-xr-xscripts/build-config18
1 files changed, 16 insertions, 2 deletions
diff --git a/scripts/build-config b/scripts/build-config
index d0d2fdac..685d79f2 100755
--- a/scripts/build-config
+++ b/scripts/build-config
@@ -49,13 +49,19 @@ options = {
'architecture': ('Image target architecture (amd64 or i586)', lambda: 'amd64', lambda x: x in ['amd64', 'i586']),
'build-by': ('Builder identifier (e.g. jrandomhacker@example.net)', get_default_build_by, None),
'debian-mirror': ('Debian repository mirror for ISO build', lambda: defaults.DEBIAN_MIRROR, None),
- 'pbuilder-debian-mirror': ('Debian repository mirror for pbuilder env bootstrap', lambda: defaults.DEBIAN_MIRROR, None)
+ 'pbuilder-debian-mirror': ('Debian repository mirror for pbuilder env bootstrap', lambda: defaults.DEBIAN_MIRROR, None),
+ 'build-type': ('Build type, release or development', lambda: 'development', lambda x: x in ['release', 'development']),
+ 'version': ('Version number (release builds only)', None, None)
}
# Create the option parser
parser = argparse.ArgumentParser()
for k, v in options.items():
- parser.add_argument('--' + k, type=str, help=v[0], default=v[1]())
+ help_string, default_value_thunk = v[0], v[1]
+ if default_value_thunk is None:
+ parser.add_argument('--' + k, type=str, help=help_string)
+ else:
+ parser.add_argument('--' + k, type=str, help=help_string, default=default_value_thunk())
args = vars(parser.parse_args())
@@ -75,6 +81,14 @@ if (args['debian_mirror'] != defaults.DEBIAN_MIRROR) and \
(args['pbuilder_debian_mirror'] == defaults.DEBIAN_MIRROR):
args['pbuilder_debian_mirror'] = args['debian-mirror']
+# Version can only be set for release builds,
+# for dev builds it hardly makes any sense
+if args['build_type'] == 'development':
+ if args['version'] is not None:
+ print("Version can only be set for release builds")
+ print("Use --build-type=release option if you want to set version number")
+ sys.exit(1)
+
# Populate some defaults that are not configurable,
# but that are handy to have in the options hash
args['distribution'] = defaults.DEBIAN_DISTRIBUTION