diff options
author | Neil Williams <codehelp@debian.org> | 2015-09-02 21:07:35 +0100 |
---|---|---|
committer | Neil Williams <codehelp@debian.org> | 2015-09-02 21:43:01 +0100 |
commit | 5c54e70b6d13241bc096880fd39f346f95561a54 (patch) | |
tree | 500ff2edceb3240f55d3b86e54601d2f48aafb99 /bin/vmdebootstrap | |
parent | 31d98be0dc493620e28ad9bd24d3889499333b50 (diff) | |
download | vmdebootstrap-5c54e70b6d13241bc096880fd39f346f95561a54.tar.gz |
move some more functions into modules
Diffstat (limited to 'bin/vmdebootstrap')
-rwxr-xr-x | bin/vmdebootstrap | 49 |
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') |