[elbe-devel] [PATCH 1/4] pbuilder: write pbuilderrc without qemu-debootstrap

Torben Hohn torben.hohn at linutronix.de
Thu Mar 12 11:30:00 CET 2020


On Tue, Mar 10, 2020 at 05:49:40PM +0100, Christian Teklenborg wrote:
> The pbuilder_write_config function writes debootstrap options in the pbuilderrc
> which would create a chroot environment with a foreign achitecture with qemu
> if pbuilder --create is called.
> But to crosscompile, a chroot environment with the build architecture is needed.
> Thus add the function pbuilder_write_cross_config that creates a pbuilderrc
> without these debootstrap options.
> 
> Signed-off-by: Christian Teklenborg <chris at linutronix.de>
> ---
>  elbepack/pbuilder.py | 33 +++++++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
> 
> diff --git a/elbepack/pbuilder.py b/elbepack/pbuilder.py
> index 6c40a240..ca387f28 100644
> --- a/elbepack/pbuilder.py
> +++ b/elbepack/pbuilder.py
> @@ -62,6 +62,38 @@ def pbuilder_write_config(builddir, xml):
>  
>      fp.close()
>  
> +def pbuilder_write_cross_config(builddir, xml):
> +    distname = xml.prj.text('suite')
> +    pbuilderrc_fname = os.path.join(builddir, "pbuilderrc")
> +    fp = open(pbuilderrc_fname, "w")
> +
> +    fp.write('#!/bin/sh\n')
> +    fp.write('set -e\n')
> +    fp.write('MIRRORSITE="%s"\n' % xml.get_primary_mirror(False))
> +    fp.write(
> +        'OTHERMIRROR="deb http://127.0.0.1:8080%s/repo %s main"\n' %

please no newline after '('. And when a string constant is too long, you can just
split it over lines easily.

print("Hello this is "
      "too long")

> +        (builddir, distname))
> +    fp.write('BASETGZ="%s"\n' % os.path.join(builddir, 'pbuilder', 'base.tgz'))
> +
> +    fp.write('DISTRIBUTION="%s"\n' % distname)
> +
> +    fp.write(

please use this formatting style only in the rare case, where
its not a string, and it would be longer than 80 cols.


       fp.write('BUILDRESULT="%s"\n' %
                os.path.join(builddir, 'pbuilder', 'result'))

also fits.

	
> +        'BUILDRESULT="%s"\n' %
> +        os.path.join(
> +            builddir,
> +            'pbuilder',
> +            'result'))
> +    fp.write(
> +        'APTCACHE="%s"\n' %
> +        os.path.join(
> +            builddir,
> +            'pbuilder',
> +            'aptcache'))
> +    fp.write('HOOKDIR="%s"\n' % os.path.join(builddir, 'pbuilder', 'hooks.d'))
> +    fp.write('PBUILDERSATISFYDEPENDSCMD='
> +             '/usr/lib/pbuilder/pbuilder-satisfydepends-apt\n')
> +    fp.close()
> +
>  
>  def pbuilder_write_apt_conf(builddir, xml):
>  
> @@ -87,6 +119,7 @@ def pbuilder_write_apt_conf(builddir, xml):
>  
>      # Make aptitude install untrusted packages without asking
>      fp.write('Aptitude::CmdLine::Ignore-Trust-Violations "true";\n')
> +
>      fp.close()

please remove this hunk. its not related to the actual code.


>  
>  
> -- 
> 2.20.1
> 
> 
> _______________________________________________
> elbe-devel mailing list
> elbe-devel at linutronix.de
> https://lists.linutronix.de/mailman/listinfo/elbe-devel

-- 
Torben Hohn
Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen
Phone: +49 7556 25 999 18; Fax.: +49 7556 25 999 99

Hinweise zum Datenschutz finden Sie hier (Informations on data privacy 
can be found here): https://linutronix.de/kontakt/Datenschutz.php

Linutronix GmbH | Firmensitz (Registered Office): Uhldingen-Mühlhofen | 
Registergericht (Registration Court): Amtsgericht Freiburg i.Br., HRB700 
806 | Geschäftsführer (Managing Directors): Heinz Egger, Thomas Gleixner



More information about the elbe-devel mailing list