]> git.siccegge.de Git - forks/vmdebootstrap.git/blobdiff - vmdebootstrap
expand manpage content for customise script
[forks/vmdebootstrap.git] / vmdebootstrap
index 80089a513c8961c70d74a9e8c9c00457088c3f1d..89739c59c0839a2ef9f1b98c6ce3635a89ca17fe 100755 (executable)
@@ -20,7 +20,6 @@ import crypt
 import logging
 import os
 import re
-import time
 import shutil
 import subprocess
 import tempfile
@@ -33,9 +32,8 @@ __version__ = '0.3'
 class VmDebootstrap(cliapp.Application):
 
     def add_settings(self):
-        default_arch = self.runcmd(
-            ["dpkg", "--print-architecture"],
-            ignore_fail=False).strip()
+        default_arch = subprocess.check_output(
+                ["dpkg", "--print-architecture"]).strip()
 
         self.settings.boolean(['verbose'], 'report what is going on')
         self.settings.string(['image'], 'put created disk image in FILE',
@@ -319,6 +317,7 @@ class VmDebootstrap(cliapp.Application):
         self.runcmd(args)
         if self.settings['foreign']:
             # First copy the binfmt handler over
+            self.message('Setting up binfmt handler')
             shutil.copy(self.settings['foreign'], '%s/usr/bin/' % rootdir)
             # Next, run the package install scripts etc.
             self.message('Running debootstrap second stage')
@@ -567,10 +566,17 @@ append initrd=%(initrd)s root=UUID=%(uuid)s ro %(kserial)s
 
     def customize(self, rootdir):
         script = self.settings['customize']
-        if script:
-            self.message('Running customize script %s' % script)
-            with open('/dev/tty', 'w') as tty:
-                cliapp.runcmd([script, rootdir], stdout=tty, stderr=tty)
+        if not script:
+            return
+        if not os.path.exists(script):
+            example = os.path.join("/usr/share/vmdebootstrap/examples/", script)
+            if not os.path.exists(example):
+                self.message("Unable to find %s" % script)
+                return
+            script = example
+        self.message('Running customize script %s' % script)
+        with open('/dev/tty', 'w') as tty:
+            cliapp.runcmd([script, rootdir], stdout=tty, stderr=tty)
 
     def create_tarball(self, rootdir):
         # Create a tarball of the disk's contents