Package: vmdebootstrap
Severity: wishlist
Tags: patch

Dear maintainer,

debootstrap allows specifing --keyring (or --no-check-gpg) in order to
override the default distribution keyring.

From the manpage:

  --keyring=KEYRING
      Override the default keyring for the distribution
      being bootstrapped, and use KEYRING to check sig‐
      natures of retrieved Release files.

  --no-check-gpg
      Disables  checking  gpg  signatures  of retrieved
      Release files.

Please add a way to pass these through.

Best regards
Niklas Fiekas
From 80d489657b1493967fab5a2e315b64e4ca197e31 Mon Sep 17 00:00:00 2001
From: Niklas Fiekas <niklas.fie...@tu-clausthal.de>
Date: Sun, 23 Nov 2014 16:05:55 +0100
Subject: [PATCH] Add --keyring and --no-check-gpg options

Debootstrap allows overriding the default keyring for the distrubution or even
disabling checking the signatures on the Release files via the --keyring and
--no-check-gpg options. Allow passing these along.
---
 vmdebootstrap      | 13 +++++++++++++
 vmdebootstrap.8.in | 18 ++++++++++++------
 2 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/vmdebootstrap b/vmdebootstrap
index 24e38d0..297a959 100755
--- a/vmdebootstrap
+++ b/vmdebootstrap
@@ -68,6 +68,15 @@ class VmDebootstrap(cliapp.Application):
                              'release to use (%default)',
                              metavar='NAME',
                              default='stable')
+        self.settings.string(['keyring'],
+                             'override the default keyring for the '
+                             'distribution being bootstrapped, and use KEYRING '
+                             'to check the signatures of the retrieved Release '
+                             'files')
+        self.settings.boolean(['check-gpg'],
+                              'check gpg signatures of retrieved Release files '
+                              '(default)',
+                              default=True)
         self.settings.string_list(['package'], 'install PACKAGE onto system')
         self.settings.string_list(['custom-package'],
                                   'install package in DEB file onto system '
@@ -321,6 +330,10 @@ class VmDebootstrap(cliapp.Application):
         if self.settings['variant']:
             args.append('--variant')
             args.append(self.settings['variant'])
+        if self.settings['keyring']:
+            args.append('--keyring=%s' % self.settings['keyring'])
+        if not self.settings['check-gpg']:
+            args.append('--no-check-gpg')
         args += [self.settings['distribution'],
                  rootdir, self.settings['mirror']]
         logging.debug(" ".join(args))
diff --git a/vmdebootstrap.8.in b/vmdebootstrap.8.in
index 60e08cd..d25e3a8 100644
--- a/vmdebootstrap.8.in
+++ b/vmdebootstrap.8.in
@@ -23,12 +23,13 @@ vmdebootstrap \- install basic Debian system into virtual disk image
 .B vmdebootstrap
 [--output=FILE] [--verbose | --no-verbose] --image=FILE --size=SIZE
 [--tarball=FILE] [--mirror=URL] [--arch=ARCH] [--distribution=NAME]
-[--package=PACKAGE] [--custom-package=DEB] [--no-kernel]
-[--enable-dhcp | --no-enable-dhcp] [--root-password=PASSWORD]
-[--customize=SCRIPT] [--hostname=HOSTNAME] [--user=USER/PASSWORD]
-[--serial-console | --no-serial-console] [--sudo | --no-sudo] [--owner=OWNER]
-[--bootsize=BOOTSIZE] [--boottype=FSTYPE] [--foreign=PATH] [--variant=VARIANT]
-[--no-extlinux] [--squash] [--configure-apt] [--grub]
+[--keyring=KEYRING] [--check-gpg | --no-check-gpg] [--package=PACKAGE]
+[--custom-package=DEB] [--no-kernel] [--enable-dhcp | --no-enable-dhcp]
+[--root-password=PASSWORD] [--customize=SCRIPT] [--hostname=HOSTNAME]
+[--user=USER/PASSWORD] [--serial-console | --no-serial-console]
+[--sudo | --no-sudo] [--owner=OWNER] [--bootsize=BOOTSIZE] [--boottype=FSTYPE]
+[--foreign=PATH] [--variant=VARIANT] [--no-extlinux] [--squash]
+[--configure-apt] [--grub]
 .SH DESCRIPTION
 .B vmdebootstrap
 installs a basic Debian system into a virtual disk image,
@@ -98,6 +99,11 @@ use MIRROR as package source (http://cdn.debian.net/debian/)
 architecture to use (amd64)
 .IP \-\-distribution=NAME
 release to use (stable)
+.IP \-\-keyring=KEYRING
+override the default keyring for the distribution being bootstrapped, and use
+KEYRING to check the signatures of the retrieved Release files
+.IP \-\-no-check-gpg
+do not check the gpg signatures of retrieved Release files
 .IP \-\-package=PACKAGE
 install PACKAGE onto system
 .IP \-\-custom-package=DEB
-- 
2.1.3

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to