The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/distrobuilder/pull/181

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===
Per discussion with @stgraber and @Re4son in #179 / #180.
From 752e6240a6f03b08283ae1eb87c7ac076dbec25e Mon Sep 17 00:00:00 2001
From: Trevor Stiles <[email protected]>
Date: Mon, 3 Jun 2019 12:52:32 -0700
Subject: [PATCH 1/2] Add early_packages definition and check for debootstrap
 sources.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Some code courtesy of Stéphane Graber.

Signed-off-by: Trevor Stiles <[email protected]>
---
 shared/definition.go   | 1 +
 sources/debootstrap.go | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/shared/definition.go b/shared/definition.go
index 058a32b..9f666ca 100644
--- a/shared/definition.go
+++ b/shared/definition.go
@@ -85,6 +85,7 @@ type DefinitionSource struct {
        AptSources       string   `yaml:"apt_sources,omitempty"`
        IgnoreRelease    bool     `yaml:"ignore_release,omitempty"`
        SkipVerification bool     `yaml:"skip_verification,omitempty"`
+       EarlyPackages    []string `yaml:"early_packages,omitempty"`
 }
 
 // A DefinitionTargetLXCConfig represents the config part of the metadata.
diff --git a/sources/debootstrap.go b/sources/debootstrap.go
index 8f77f38..51a2a1f 100644
--- a/sources/debootstrap.go
+++ b/sources/debootstrap.go
@@ -5,6 +5,7 @@ import (
        "path"
        "path/filepath"
        "strings"
+       "fmt"
 
        lxd "github.com/lxc/lxd/shared"
 
@@ -37,6 +38,10 @@ func (s *Debootstrap) Run(definition shared.Definition, 
rootfsDir string) error
                args = append(args, "--no-check-gpg")
        }
 
+       if len(definition.Source.EarlyPackages) > 0 {
+               args = append(args, fmt.Sprintf("--include=%s", 
strings.Join(definition.Source.EarlyPackages, ",")))
+       }
+
        if len(definition.Source.Keys) > 0 {
                keyring, err := 
shared.CreateGPGKeyring(definition.Source.Keyserver, definition.Source.Keys)
                if err != nil {

From c7d597b36bb64de887bbc6228b99a180464894db Mon Sep 17 00:00:00 2001
From: Trevor Stiles <[email protected]>
Date: Mon, 3 Jun 2019 13:00:38 -0700
Subject: [PATCH 2/2] Update Devuan and Kali distros to use the new
 early_packages directive.

Signed-off-by: Trevor Stiles <[email protected]>
---
 doc/examples/devuan                  | 3 ++-
 doc/examples/kali                    | 3 ++-
 doc/examples/kali-with-core-packages | 3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/doc/examples/devuan b/doc/examples/devuan
index 5ffdacd..7a6d901 100644
--- a/doc/examples/devuan
+++ b/doc/examples/devuan
@@ -13,6 +13,8 @@ source:
   apt_sources: |-
     deb http://deb.devuan.org/merged {{ image.release }} main
     deb http://deb.devuan.org/merged {{ image.release }}-security main
+  early_packages:
+    - devuan-keyring
 
 targets:
   lxc:
@@ -93,7 +95,6 @@ packages:
     - packages:
         - ca-certificates
         - curl
-        - devuan-keyring
         - dialog
         - dnsutils
         - htop
diff --git a/doc/examples/kali b/doc/examples/kali
index 4d5cc51..f5f6056 100644
--- a/doc/examples/kali
+++ b/doc/examples/kali
@@ -11,6 +11,8 @@ source:
   variant: minbase
   apt_sources: |-
     deb http://http.kali.org/kali {{ image.release }} main non-free contrib
+  early_packages:
+    - kali-archive-keyring
 
 targets:
   lxc:
@@ -85,7 +87,6 @@ packages:
       - openssh-client
       - vim
       - systemd
-      - kali-archive-keyring
       action: install
 
 actions:
diff --git a/doc/examples/kali-with-core-packages 
b/doc/examples/kali-with-core-packages
index 55dd30c..bdefab2 100644
--- a/doc/examples/kali-with-core-packages
+++ b/doc/examples/kali-with-core-packages
@@ -11,6 +11,8 @@ source:
   variant: minbase
   apt_sources: |-
     deb http://http.kali.org/kali {{ image.release }} main non-free contrib
+  early_packages:
+    - kali-archive-keyring
 
 targets:
   lxc:
@@ -112,7 +114,6 @@ packages:
       - tor
       - tshark
       - whois
-      - kali-archive-keyring
       action: install
 
 actions:
_______________________________________________
lxc-devel mailing list
[email protected]
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to