From cd21365ff16bb2a7224bd4815a7616a2aa639825 Mon Sep 17 00:00:00 2001 From: Neil Williams Date: Thu, 28 Aug 2014 10:12:02 -0700 Subject: [PATCH] handle missing customise scripts cleanly with fallback to upstream examples. --- vmdebootstrap | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/vmdebootstrap b/vmdebootstrap index 80089a5..5467429 100755 --- a/vmdebootstrap +++ b/vmdebootstrap @@ -567,10 +567,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 -- 2.39.5