[elbe-devel] [PATCH v3 1/4] pbuilder: write pbuilderrc without qemu-debootstrap
Christian Teklenborg
chris at linutronix.de
Mon Apr 27 16:35:41 CEST 2020
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. Change the pbuilder_write_repo_hook function
to take care of the different directory names from the pbuilder environment.
Signed-off-by: Christian Teklenborg <chris at linutronix.de>
---
elbepack/pbuilder.py | 30 ++++++++++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/elbepack/pbuilder.py b/elbepack/pbuilder.py
index 6c40a240..e6f0b3cf 100644
--- a/elbepack/pbuilder.py
+++ b/elbepack/pbuilder.py
@@ -62,6 +62,29 @@ 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, "cross_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' %
+ (builddir, distname))
+ fp.write('BASETGZ="%s"\n' % os.path.join(builddir, 'pbuilder_cross', 'base.tgz'))
+
+ fp.write('DISTRIBUTION="%s"\n' % distname)
+
+ fp.write('BUILDRESULT="%s"\n' %
+ os.path.join(builddir, 'pbuilder_cross', 'result'))
+ fp.write('APTCACHE="%s"\n' %
+ os.path.join(builddir, 'pbuilder_cross','aptcache'))
+ fp.write('HOOKDIR="%s"\n' % os.path.join(builddir, 'pbuilder_cross', 'hooks.d'))
+ fp.write('PBUILDERSATISFYDEPENDSCMD='
+ '/usr/lib/pbuilder/pbuilder-satisfydepends-apt\n')
+ fp.close()
+
def pbuilder_write_apt_conf(builddir, xml):
@@ -107,9 +130,12 @@ def mirror_script_add_key_url(mirror, key_url):
return mirror_script_add_key_text(mirror, key_text)
-def pbuilder_write_repo_hook(builddir, xml):
+def pbuilder_write_repo_hook(builddir, xml, cross):
- pbuilder_hook_dir = os.path.join(builddir, "pbuilder", "hooks.d")
+ if cross:
+ pbuilder_hook_dir = os.path.join(builddir, "pbuilder_cross", "hooks.d")
+ else:
+ pbuilder_hook_dir = os.path.join(builddir, "pbuilder", "hooks.d")
with open(os.path.join(pbuilder_hook_dir, "H10elbe_apt_update"), "w") as f:
f.write("#!/bin/sh\napt update\n")
--
2.20.1
More information about the elbe-devel
mailing list