[elbe-devel] [PATCH v2 1/4] rfs: Implement debootstrap variant handling

Manuel Traut manut at linutronix.de
Thu Nov 8 14:18:33 CET 2018


On Thu, Nov 08, 2018 at 02:04:50PM +0100, Benedikt Spranger wrote:
> debootstrap bootstraps a basic Debian system and is called during E.L.B.E.
> build. debootstrap variants are used to define, what is going to be
> installed in this basic debian system. Known variants are minbase, which
> only includes essential packages and apt; buildd, which installs the
> build-essential packages into the rfs; and fakechroot, which installs the
> packages without root privileges.
> 
> debootstrap variant minbase can be used in E.L.B.E. to speed up the rfs
> creation.
> 
> Implement debootstrap variant handling by introducing the tag
> <debootstrapvariant> in the target section:
> 
> ...
> <debootstrapvariant>minbase</debootstrapvariant>
> ...
> 
> Signed-off-by: Benedikt Spranger <b.spranger at linutronix.de>

ACK

> ---
>  elbepack/rfs.py | 26 +++++++++++++++++---------
>  1 file changed, 17 insertions(+), 9 deletions(-)
> 
> diff --git a/elbepack/rfs.py b/elbepack/rfs.py
> index ca1ed470..4009f61b 100644
> --- a/elbepack/rfs.py
> +++ b/elbepack/rfs.py
> @@ -122,17 +122,26 @@ class BuildEnv (object):
>          host_arch = self.log.get_command_out(
>              "dpkg --print-architecture").strip()
>  
> +        if self.xml.has("target/debootstrapvariant"):
> +            bootstrapvariant = self.xml.text("target/debootstrapvariant")
> +            self.log.printo('NOTE: use bootstrap variant "%s".' % (
> +                bootstrapvariant))
> +            strapcmd = 'debootstrap --variant="%s"' % (bootstrapvariant)
> +        else:
> +            self.log.printo('use bootstrap no variant.')
> +            strapcmd = 'debootstrap'
> +
>          if not self.xml.is_cross(host_arch):
>              # ignore gpg verification if install from cdrom, cause debootstrap
>              # seems to ignore /etc/apt/trusted.gpg.d/elbe-keyring.gpg
>              # 01/2017 manut
>              if self.xml.has(
>                      "project/noauth") or self.xml.has("project/mirror/cdrom"):
> -                cmd = 'debootstrap --no-check-gpg --arch=%s "%s" "%s" "%s"' % (
> -                    arch, suite, self.rfs.path, primary_mirror)
> +                cmd = '%s --no-check-gpg --arch=%s "%s" "%s" "%s"' % (
> +                    strapcmd, arch, suite, self.rfs.path, primary_mirror)
>              else:
> -                cmd = 'debootstrap --arch=%s "%s" "%s" "%s"' % (
> -                    arch, suite, self.rfs.path, primary_mirror)
> +                cmd = '%s --arch=%s "%s" "%s" "%s"' % (
> +                    strapcmd, arch, suite, self.rfs.path, primary_mirror)
>  
>              try:
>                  self.cdrom_mount()
> @@ -148,17 +157,16 @@ class BuildEnv (object):
>              return
>  
>          if self.xml.has("project/noauth"):
> -            cmd = 'debootstrap --no-check-gpg --foreign ' \
> -                  '--arch=%s "%s" "%s" "%s"' % (arch, suite, self.rfs.path,
> -                                                primary_mirror)
> +            cmd = '%s --no-check-gpg --foreign --arch=%s "%s" "%s" "%s"' % (
> +                strapcmd, arch, suite, self.rfs.path, primary_mirror)
>          else:
>              if self.xml.has("project/mirror/cdrom"):
>                  keyring = ' --keyring="%s/targetrepo/elbe-keyring.gpg"' % (
>                      self.rfs.fname("cdrom"))
>              else:
>                  keyring = ''
> -            cmd = 'debootstrap --foreign --arch=%s %s "%s" "%s" "%s"' % (
> -                arch, keyring, suite, self.rfs.path, primary_mirror)
> +            cmd = '%s --foreign --arch=%s %s "%s" "%s" "%s"' % (
> +                strapcmd, arch, keyring, suite, self.rfs.path, primary_mirror)
>  
>          try:
>              self.cdrom_mount()
> -- 
> 2.19.1
> 
> 
> _______________________________________________
> elbe-devel mailing list
> elbe-devel at linutronix.de
> https://lists.linutronix.de/mailman/listinfo/elbe-devel



More information about the elbe-devel mailing list