From 73c892d11424f945bb42992601c1d38a669232b6 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <mail@daniel-baumann.ch>
Date: Sat, 6 Apr 2013 13:25:45 +0200
Subject: [PATCH] Switching argument and configuration handling order in Python
 stubs.

---
 scripts/build/bootstrap_cdebootstrap | 39 ++++++++++++++++------------
 scripts/build/bootstrap_debootstrap  | 39 ++++++++++++++++------------
 2 files changed, 44 insertions(+), 34 deletions(-)

diff --git a/scripts/build/bootstrap_cdebootstrap b/scripts/build/bootstrap_cdebootstrap
index 5f483e202..6aad9240a 100755
--- a/scripts/build/bootstrap_cdebootstrap
+++ b/scripts/build/bootstrap_cdebootstrap
@@ -8,8 +8,8 @@
 ## under certain conditions; see COPYING for details.
 
 
-import configparser
 import argparse
+import configparser
 import os
 import sys
 import shutil
@@ -22,7 +22,28 @@ import subprocess
 # - cdebootstrap-options from config
 
 def main():
+	## Parsing Arguments
+	arguments = argparse.ArgumentParser(
+		prog            = 'lb bootstrap_cdebootstrap',
+		usage           = '%(prog)s [arguments]',
+		description     = '''live-build contains the programs to build a live system from a configuration directory.
+		                     The lb bootstrap_cdebootstrap program bootstraps the chroot system with cdebootstrap.''',
+		epilog          = 'See \'man lb_bootstrap_cdebootstrap\' for more information.',
+		version         = 'live-build 4.0',
+		formatter_class = argparse.ArgumentDefaultsHelpFormatter
+	)
+
+	arguments.add_argument('--verbose',              help='set verbose option',         action='store_true')
+	arguments.add_argument('--cdebootstrap-options', help='set cdebootstrap(1) options' )
+
+	args = arguments.parse_args()
+
 	## Parsing Configuration
+	if not os.path.isfile('config/build'):
+		print('E: config/build - no such file')
+
+		sys.exit(1)
+
 	config = configparser.ConfigParser()
 
 	config.read('config/build')
@@ -35,22 +56,6 @@ def main():
 		distribution     = config.get('Image', 'Distribution')
 		mirror_bootstrap = config.get('Image', 'Mirror-Bootstrap')
 
-	## Parsing Arguments
-	arguments = argparse.ArgumentParser(
-		prog            = 'lb bootstrap_cdebootstrap',
-		usage           = '%(prog)s [arguments]',
-		description     = '''live-build contains the programs to build a live system from a configuration directory.
-		                     The lb bootstrap_cdebootstrap program bootstraps the chroot system with cdebootstrap.''',
-		epilog          = 'live-build was written by Daniel Baumann <mail@daniel-baumann.ch>.',
-		version         = 'live-build 4.0',
-		formatter_class = argparse.ArgumentDefaultsHelpFormatter
-	)
-
-	arguments.add_argument('--verbose',              help='set verbose option',         action='store_true')
-	arguments.add_argument('--cdebootstrap-options', help='set cdebootstrap(1) options' )
-
-	args = arguments.parse_args()
-
 	# --verbose
 	verbose = args.verbose
 
diff --git a/scripts/build/bootstrap_debootstrap b/scripts/build/bootstrap_debootstrap
index 7cfc8695a..262a7d5c2 100755
--- a/scripts/build/bootstrap_debootstrap
+++ b/scripts/build/bootstrap_debootstrap
@@ -8,8 +8,8 @@
 ## under certain conditions; see COPYING for details.
 
 
-import configparser
 import argparse
+import configparser
 import os
 import sys
 import shutil
@@ -22,7 +22,28 @@ import subprocess
 # - debootstrap-options from config
 
 def main():
+	## Parsing Arguments
+	arguments = argparse.ArgumentParser(
+		prog            = 'lb bootstrap_debootstrap',
+		usage           = '%(prog)s [arguments]',
+		description     = '''live-build contains the programs to build a live system from a configuration directory.
+		                     The lb bootstrap_debootstrap program bootstraps the chroot system with debootstrap.''',
+		epilog          = 'See \'man lb_bootstrap_debootstrap\' for more information.',
+		version         = 'live-build 4.0',
+		formatter_class = argparse.ArgumentDefaultsHelpFormatter
+	)
+
+	arguments.add_argument('--verbose',             help='set verbose option',        action='store_true')
+	arguments.add_argument('--debootstrap-options', help='set debootstrap(8) options' )
+
+	args = arguments.parse_args()
+
 	## Parsing Configuration
+	if not os.path.isfile('config/build'):
+		print('E: config/build - no such file')
+
+		sys.exit(1)
+
 	config = configparser.ConfigParser()
 
 	config.read('config/build')
@@ -37,22 +58,6 @@ def main():
 		distribution     = config.get('Image', 'Distribution')
 		mirror_bootstrap = config.get('Image', 'Mirror-Bootstrap')
 
-	## Parsing Arguments
-	arguments = argparse.ArgumentParser(
-		prog            = 'lb bootstrap_debootstrap',
-		usage           = '%(prog)s [arguments]',
-		description     = '''live-build contains the programs to build a live system from a configuration directory.
-		                     The lb bootstrap_debootstrap program bootstraps the chroot system with debootstrap.''',
-		epilog          = 'live-build was written by Daniel Baumann <mail@daniel-baumann.ch>.',
-		version         = 'live-build 4.0',
-		formatter_class = argparse.ArgumentDefaultsHelpFormatter
-	)
-
-	arguments.add_argument('--verbose',             help='set verbose option',        action='store_true')
-	arguments.add_argument('--debootstrap-options', help='set debootstrap(8) options' )
-
-	args = arguments.parse_args()
-
 	# --verbose
 	verbose = args.verbose