summaryrefslogtreecommitdiff
path: root/components/init
diff options
context:
space:
mode:
Diffstat (limited to 'components/init')
-rwxr-xr-xcomponents/init108
1 files changed, 100 insertions, 8 deletions
diff --git a/components/init b/components/init
index 89da3e11e..969cc1694 100755
--- a/components/init
+++ b/components/init
@@ -12,6 +12,7 @@ import argparse
import configparser
import glob
import os
+import platform
import shutil
import subprocess
import sys
@@ -24,6 +25,12 @@ import urllib.request
# * use gettext for i18n
def main():
+ ## early defaults detection
+ architecture = platform.machine()
+
+ if (architecture == 'x86_64'):
+ architecture = 'amd64'
+
## Parsing Arguments
arguments = argparse.ArgumentParser(
prog = 'lb init',
@@ -34,27 +41,54 @@ def main():
formatter_class = argparse.ArgumentDefaultsHelpFormatter
)
- arguments.add_argument('--version', help='show program\'s version number and exit', action='version', version='live-build 4')
- arguments.add_argument('--verbose', help='set verbose option', action='store_true')
+ arguments.add_argument('--version', help='show program\'s version number and exit', action='version', version='live-build 4')
+ arguments.add_argument('--verbose', help='set verbose option', action='store_true')
+
+ arguments.add_argument('--project', help='set project defaults', default='debian')
+ arguments.add_argument('--system', help='set system type', default='live')
+ arguments.add_argument('--architecture', help='set system architecture', default=architecture)
+
+ arguments.add_argument('--archive-areas', help='set default archive areas', default='main')
+ arguments.add_argument('--parent-archive-areas', help='set default parent archive areas', default='main')
+
+ arguments.add_argument('--distribution', help='set default distribution', default='jessie')
+ arguments.add_argument('--parent-distribution', help='set default parent distribution', default='jessie')
- arguments.add_argument('--distribution', help='set default distribution', default='jessie')
- arguments.add_argument('--project', help='set project defaults', default='debian')
- arguments.add_argument('--system', help='set system type', default='live')
+ arguments.add_argument('--mirror-bootstrap', help='set default bootstrap mirror', default='http://ftp.debian.org/debian')
+ arguments.add_argument('--parent-mirror-bootstrap', help='set default parent bootstrap mirror', default='http://ftp.debian.org/debian')
args = arguments.parse_args()
# --verbose
verbose = args.verbose
- # --distribution
- distribution = args.distribution
-
# --project
project = args.project
# --system
system = args.system
+ # --architecture
+ architecture = args.architecture
+
+ # --archive-areas
+ archive_areas = args.archive_areas
+
+ # --parent-archive-areas
+ parent_archive_areas = args.parent_archive_areas
+
+ # --distribution
+ distribution = args.distribution
+
+ # --parent-distribution
+ parent_distribution = args.parent_distribution
+
+ # --mirror-bootstrap
+ mirror_bootstrap = args.mirror_bootstrap
+
+ # --parent-mirror-bootstrap
+ parent_mirror_bootstrap = args.parent_mirror_bootstrap
+
## Setting defaults
if not system:
@@ -72,6 +106,31 @@ def main():
distribution = default_distribution[project]
+ ## Setting derivative defaults
+ if (project == 'progress-linux'):
+ # parent-distribution
+ if(distribution == 'artax'):
+ parent_distribution = 'squeeze'
+ if(distribution == 'artax-backports'):
+ parent_distribution = 'squeeze'
+ if(distribution == 'baureo'):
+ parent_distribution = 'wheezy'
+ if(distribution == 'baureo-backports'):
+ parent_distribution = 'wheezy'
+ if(distribution == 'cairon'):
+ parent_distribution = 'jessie'
+ if(distribution == 'cairon-backports'):
+ parent_distribution = 'jessie'
+ else:
+ # parent-architecture
+ parent_architecture = architecture
+
+ # parent-distribution
+ parent_distribution = distribution
+
+ # parent-mirror-bootstrap
+ parent_mirror_bootstrap = mirror_bootstrap
+
## Creating configuration directory
# stagefile
@@ -94,6 +153,39 @@ def main():
print('Make sure you are using the newest version at all times.')
+ ## Writing main configuration file
+
+ os.makedirs('config', exist_ok=True)
+
+ config = configparser.ConfigParser()
+
+ configfile = open("config/build.conf", 'w')
+
+ config.add_section('build')
+
+ config.set('build','Architecture', architecture)
+
+ config.set('build','Archive-Areas', archive_areas)
+ config.set('build','Parent-Archive-Areas', parent_archive_areas)
+
+ config.set('build','Distribution', distribution)
+ config.set('build','Parent-Distribution', parent_distribution)
+
+ config.set('build','Mirror-Bootstrap', mirror_bootstrap)
+ config.set('build','Parent-Mirror-Bootstrap', parent_mirror_bootstrap)
+
+ config.set('build','Project', project)
+ config.set('build','System', system)
+
+ config.add_section('meta')
+
+ config.set('meta','Version', '4.0')
+
+ config.write(configfile)
+ configfile.close()
+
+ ## Populating configuration directory
+
# Configuring default archive-keys
if (project == 'progress-linux'):
# dependencies