[elbe-devel] [PATCH] pbuilder: call origtargz before pbuilder build
Bastian Germann
bage at linutronix.de
Fri Apr 30 16:50:09 CEST 2021
Am 30.04.21 um 16:14 schrieb Christian Teklenborg:
> Add the devscripts package to the default-init.xml 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>
> ---
> elbepack/elbeproject.py | 29 +++++++++++++++++++----------
> elbepack/init/default-init.xml | 1 +
> 2 files changed, 20 insertions(+), 10 deletions(-)
>
> diff --git a/elbepack/elbeproject.py b/elbepack/elbeproject.py
> index 78a46454..7b16869c 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,24 @@ 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 = open(os.path.join(pdebuilder_current, "debian", "source", "format"), "r").read()
The format file is not a required file and dpkg will fallback to 1.0.
Please check for existance before opening it and make formatfile default to an empty string.
> + 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*.orig.*" % src_pkg_name)
Why is the path ../ here when you cd to pdebuilder_current? Should it not be something like
pdebuilder_current+'/..'?
> + 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 '
> diff --git a/elbepack/init/default-init.xml b/elbepack/init/default-init.xml
> index c9c06279..ce3d92f8 100644
> --- a/elbepack/init/default-init.xml
> +++ b/elbepack/init/default-init.xml
> @@ -53,6 +53,7 @@
> <pkg>debootstrap</pkg>
> <pkg>pbuilder</pkg>
> <pkg>ubuntu-keyring</pkg>
> + <pkg>devscripts</pkg>
Please make this a dependency of the python3-elbe-buildenv package. This is where is logically belongs.
> </pkg-list>
> <preseed>
> <conf owner="pbuilder" key="pbuilder/mirrorsite" type="string" value="http://ftp.de.debian.org/debian"/>
>
More information about the elbe-devel
mailing list