[elbe-devel] [PATCH v3] pbuilder: call origtargz before pbuilder build
Bastian Germann
bage at linutronix.de
Fri May 7 13:00:00 CEST 2021
Am 07.05.21 um 12:24 schrieb Christian Teklenborg:
> Add the devscripts package to the dependencies of the
> python3-elbe-buildenv package that origtargz will be installed
> on the initvm. Check if an origfile was passed to pbuilder.
> If no origfile is given and the format is 3.0 (quilt)
> download it with origtargz.
>
> Signed-off-by: Christian Teklenborg <chris at linutronix.de>
Reviewed-by: Bastian Germann <bage at linutronix.de>
> ---
> debian/control | 3 ++-
> elbepack/elbeproject.py | 33 +++++++++++++++++++++++----------
> 2 files changed, 25 insertions(+), 11 deletions(-)
>
> diff --git a/debian/control b/debian/control
> index 949f161f..54d3a514 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -140,7 +140,8 @@ Depends: ${misc:Depends},
> git,
> ca-certificates,
> subversion,
> - haveged
> + haveged,
> + devscripts
> Description: Embedded Linux Build Environment Server Component
> This package is typically installed in a virtual machine (that can be created
> with the 'elbe initvm create' command from the 'elbe' package). Several
> diff --git a/elbepack/elbeproject.py b/elbepack/elbeproject.py
> index 78a46454..f4021ef3 100644
> --- a/elbepack/elbeproject.py
> +++ b/elbepack/elbeproject.py
> @@ -15,6 +15,7 @@ import datetime
> import io
> import logging
> import sys
> +import glob
>
> from elbepack.shellhelper import CommandError, system, do, chroot
>
> @@ -740,16 +741,6 @@ class ElbeProject:
> pbdir = os.path.join(self.builddir, "pdebuilder", "current")
> do('mkdir -p "%s"' % os.path.join(pbdir))
>
> - try:
> - for orig_fname in self.orig_files:
> - ofname = os.path.join(self.builddir, orig_fname)
> - do('mv "%s" "%s"' % (ofname,
> - os.path.join(self.builddir,
> - "pdebuilder")))
> - finally:
> - self.orig_fname = None
> - self.orig_files = []
> -
> # Untar current_pdebuild.tar.gz into pdebuilder/current
> do('tar xfz "%s" -C "%s"' %
> (os.path.join(self.builddir, "current_pdebuild.tar.gz"), pbdir))
> @@ -771,6 +762,28 @@ class ElbeProject:
> profile_list = profile.split(",")
> deb_build_opts = [i for i in profile_list if i=="nodoc" or i=="nocheck"]
>
> + pdebuilder_current = os.path.join(self.builddir, "pdebuilder", "current")
> +
> + formatfile = ""
> +
> + if os.path.exists(os.path.join(pdebuilder_current, "debian", "source", "format")):
> + formatfile = open(os.path.join(pdebuilder_current, "debian", "source", "format"), "r").read()
> +
> + src_pkg_name = open(os.path.join(pdebuilder_current, "debian", "changelog"), "r").readline().split()[0]
> +
> + if "3.0 (quilt)" in formatfile and not self.orig_files:
> + do("cd %s; origtargz --download-only --tar-only" % pdebuilder_current)
> + self.orig_files = glob.glob("%s/../%s*.orig.*" % (pdebuilder_current, src_pkg_name))
> + try:
> + for orig_fname in self.orig_files:
> + ofname = os.path.join(self.builddir, orig_fname)
> + do('mv "%s" "%s"' % (ofname,
> + os.path.join(self.builddir,
> + "pdebuilder")))
> + finally:
> + self.orig_fname = None
> + self.orig_files = []
> +
> try:
> if cross:
> do('cd "%s"; dpkg-source -b .; %s '
>
More information about the elbe-devel
mailing list