From: Mark Wooding Date: Tue, 4 Aug 2020 21:16:47 +0000 (+0100) Subject: Merge branch 'deploy' into deploy.universe X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/distorted-chroot/commitdiff_plain/3cde241f3f1a70a629be582e8e638fe5d015a9f8?hp=07f68002d73a4121908dec71a7701b813d4e0016 Merge branch 'deploy' into deploy.universe * deploy: Makefile: Include C++ headers in the cross-tools bundle. Makefile: Use buster's Qemu on stretch. Makefile, bin/chroot-maint: Allow source distribution selection for Qemu. bin/chroot-maint: Add missing format argument to diagnostic. --- diff --git a/Makefile b/Makefile index 3b431a2..4b4a616 100644 --- a/Makefile +++ b/Makefile @@ -155,7 +155,8 @@ CROSS_PATHS += \ $(addprefix /usr/bin/$a-, \ cpp gcc g++ gcov gcov-dump gcov-tool gprof \ gcc-ar gcc-nm gcc-ranlib) \ - /usr/lib/gcc-cross/$a/) + /usr/lib/gcc-cross/$a/ \ + /usr/$a/include/c++) ## Local packages to be compiled and installed in chroots. Archives can be ## found in `pkg/'. @@ -178,6 +179,10 @@ arm64_QEMUHOST = $(64BIT_QEMUHOST) i386_QEMUHOST = $(32BIT_QEMUHOST) amd64_QEMUHOST = $(64BIT_QEMUHOST) +## Which distribution of Qemu to use. +CONFIG_VARS += $(foreach d,$(DISTS),$d_QEMUDIST) +stretch_QEMUDIST = buster + ## Qemu architecture names. These tell us which Qemu binary to use for a ## particular Debian architecture. CONFIG_VARS += $(foreach a,$(FOREIGN_ARCHS),$a_QEMUARCH) diff --git a/bin/chroot-maint b/bin/chroot-maint index 21e5c21..34dec2e 100755 --- a/bin/chroot-maint +++ b/bin/chroot-maint @@ -1431,6 +1431,7 @@ class Config (object): "*_DEPS": ("PKGDEPS", _conv_list), "*_QEMUHOST": ("QEMUHOST", _conv_str), "*_QEMUARCH": ("QEMUARCH", _conv_str), + "*_QEMUDIST": ("QEMUDIST", _conv_str), "*_ALIASES": ("DISTALIAS", _conv_str) } @@ -1858,7 +1859,8 @@ class ChrootJob (BaseJob): me._tools_chroot = CrossToolsJob.ensure\ ("%s-%s" % (me._dist, C.TOOLSARCH), FRESH) me._qemu_chroot = CrossToolsJob.ensure\ - ("%s-%s" % (me._dist, C.QEMUHOST[me._arch]), FRESH) + ("%s-%s" % (C.QEMUDIST.get(me._dist, me._dist), + C.QEMUHOST[me._arch]), FRESH) me.await(me._tools_chroot) me.await(me._qemu_chroot) @@ -1895,9 +1897,10 @@ class ChrootJob (BaseJob): crossdir = OS.path.join(C.LOCAL, "cross", "%s-%s" % (dist, C.TOOLSARCH)) - qarch, qhost = C.QEMUARCH[arch], C.QEMUHOST[arch] + qarch, qhost, qdist = \ + C.QEMUARCH[arch], C.QEMUHOST[arch], C.QEMUDIST.get(dist, dist) qemudir = OS.path.join(C.LOCAL, "cross", - "%s-%s" % (dist, qhost), "QEMU") + "%s-%s" % (qdist, qhost), "QEMU") ## Acquire lockfiles in a canonical order to prevent deadlocks. donors = [C.TOOLSARCH] @@ -2051,8 +2054,9 @@ class ChrootJob (BaseJob): run_root(["mv", new, real]) for path in have_link.iterkeys(): if path in want_link: continue - progress("remove obsolete link `%s' -> `%s'" % path) real = root + path + progress("remove obsolete link `%s' -> `%s'" % + (path, OS.readlink(real))) run_root(["rm", "-f", real]) ## Remove diversions from paths which don't need them any more. Here