summaryrefslogtreecommitdiff
path: root/bin/vmdebootstrap
diff options
context:
space:
mode:
authorNeil Williams <codehelp@debian.org>2015-09-02 21:07:35 +0100
committerNeil Williams <codehelp@debian.org>2015-09-02 21:43:01 +0100
commit5c54e70b6d13241bc096880fd39f346f95561a54 (patch)
tree500ff2edceb3240f55d3b86e54601d2f48aafb99 /bin/vmdebootstrap
parent31d98be0dc493620e28ad9bd24d3889499333b50 (diff)
downloadvmdebootstrap-5c54e70b6d13241bc096880fd39f346f95561a54.tar.gz
move some more functions into modules
Diffstat (limited to 'bin/vmdebootstrap')
-rwxr-xr-xbin/vmdebootstrap49
1 files changed, 13 insertions, 36 deletions
diff --git a/bin/vmdebootstrap b/bin/vmdebootstrap
index db88d35..175292e 100755
--- a/bin/vmdebootstrap
+++ b/bin/vmdebootstrap
@@ -424,9 +424,7 @@ class VmDebootstrap(cliapp.Application): # pylint: disable=too-many-public-meth
# uefi - make rootfs partition after end of ESP
# needs extent
elif self.settings['use-uefi']:
- bootsize = self.settings['esp-size'] / (1024 * 1024) + 1
- runcmd(['parted', '-s', self.settings['image'],
- 'mkpart', 'primary', str(bootsize), extent])
+ uefi.make_root(extent)
# no boot partition
else:
@@ -440,41 +438,18 @@ class VmDebootstrap(cliapp.Application): # pylint: disable=too-many-public-meth
# return to doing swap setup
base.make_swap(extent)
- def _bootstrap_packages(self): # pylint: disable=too-many-branches
+ def _bootstrap_packages(self):
+ base = self.handlers[Base.name]
uefi = self.handlers[Uefi.name]
+ grub = self.handlers[GrubHandler.name]
distro = self.handlers[Codenames.name]
- include = self.settings['package']
- if not self.settings['foreign'] and not self.settings['no-acpid']:
- include.append('acpid')
-
- if self.settings['grub']:
- if self.settings['use-uefi']:
- include.extend(uefi.efi_packages())
- else:
- include.append('grub-pc')
-
- if not self.settings['no-kernel']:
- if self.settings['kernel-package']:
- kernel_image = self.settings['kernel-package']
- else:
- if self.settings['arch'] == 'i386':
- # wheezy (which became oldstable on 04/25/2015) used '486'
- if distro.was_oldstable(datetime.date(2015, 4, 26)):
- kernel_arch = '486'
- else:
- kernel_arch = '586'
- elif self.settings['arch'] == 'armhf':
- kernel_arch = 'armmp'
- else:
- kernel_arch = self.settings['arch']
- kernel_image = 'linux-image-%s' % kernel_arch
- include.append(kernel_image)
-
- if self.settings['sudo'] and 'sudo' not in include:
- include.append('sudo')
-
- return include
+ include = self.settings['package']
+ include.extend(base.base_packages())
+ include.extend(uefi.efi_packages())
+ include.extend(grub.grub_packages())
+ include.extend(distro.kernel_package())
+ return list(set(include))
def _debootstrap_second_stage(self, rootdir):
base = self.handlers[Base.name]
@@ -553,11 +528,13 @@ class VmDebootstrap(cliapp.Application): # pylint: disable=too-many-public-meth
base = self.handlers[Base.name]
base.message('Setting up networking')
distro = self.handlers[Codenames.name]
+ ifc_d = os.path.join(rootdir, 'etc', 'network', 'interfaces.d')
+ if not os.path.exists(ifc_d):
+ os.mkdir(ifc_d)
# unconditionally write for wheezy (which became oldstable on 04/25/2015)
if distro.was_oldstable(datetime.date(2015, 4, 26)):
with open(os.path.join(rootdir, 'etc', 'network', 'interfaces'), 'w') as netfile:
netfile.write('source /etc/network/interfaces.d/*\n')
- os.mkdir(os.path.join(rootdir, 'etc', 'network', 'interfaces.d'))
elif not os.path.exists(os.path.join(rootdir, 'etc', 'network', 'interfaces')):
iface_path = os.path.join(rootdir, 'etc', 'network', 'interfaces')