From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6995471841453146112 X-Received: by 2002:ac2:4350:: with SMTP id o16mr2010961lfl.184.1628760212340; Thu, 12 Aug 2021 02:23:32 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:3f02:: with SMTP id y2ls56318lfa.3.gmail; Thu, 12 Aug 2021 02:23:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyO2Jcea5KnXDZopLpRaBO/tR1tAmcIk/aZ8YdZIR4Z9ARicdCya4kB7ZWQmWIatRSWJZ/R X-Received: by 2002:a05:6512:3f15:: with SMTP id y21mr1813597lfa.370.1628760211149; Thu, 12 Aug 2021 02:23:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628760211; cv=none; d=google.com; s=arc-20160816; b=oh0aOkkJiRSFdU+T5DCIHsjJIDIWb+XIb0+rxcGbZipH0fHauIXoIarPDVf6h+0v8p ZuaF/1Wt5XTbx+cAIlwjXvQfKmBaV09qZTALkmHnIiF/eA2wh2w+4UZCkkqK0hOgRwLf PY5KxPthPqmC9nO+lIWJvj2EuSAbtrph+XILolNYTuvfzE61VBnaNvOXDZ9OnbkmUgGu eN8aVRY6K3xOtpEVCZO6WMzhDkEcXlAKyXPMWPm03cxyLxmU1/pPk2R53jbgsdQg4Kp+ opegNLGkFCoxTWzG3VnvPiNoaqNwjZlOsL4nWo16KXT7Pa6UJDCPNH7agMugpug/PYve Upnw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=3SQLcD0EbOrAjubfRApagDlJxMXkRHtLFrK0aLJZk2M=; b=lALZ29vSOxM9KKwrSBSjhT/+TR7flXPlbBv5nRyI+UvTn6VXeLPyZrgENFITz4/X7T KG/u7BzIBFv+E9wtuGDJMcGM5bHUmT0cKIoSm+/nMpfZzO8WFgg6TFDSNsQG4mxXsS1u jncx5d2B/slIeWfsNJbF0YclY/cQ1cpDg6zueHcQQ/m+mS98M/dYxXhFtPj1LFtFUs36 p2bfqtMOHfLMZH8MBBfJLf0lItDEa+Js6N1cL0I/WYnL/RKv12en9GJiFagrOgYWIHZv 1enYRsK7pakR+e0jDGvi7TYLG/kzEMoslcX1cEPlINqaJx+897lw2JEtrWMIhNJgscR9 owzA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id p17si112215lfs.8.2021.08.12.02.23.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Aug 2021 02:23:31 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id 17C9NU19003246 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 12 Aug 2021 11:23:30 +0200 Received: from md1f2u6c.ad001.siemens.net ([167.87.241.87]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id 17C9NSVV022327; Thu, 12 Aug 2021 11:23:30 +0200 From: Jan Kiszka To: isar-users Cc: Uladzimir Bely , Henning Schild Subject: [PATCH 3/3] Rework do_adjust_git to support inside and outside usage Date: Thu, 12 Aug 2021 11:23:28 +0200 Message-Id: <52c19135f0fcab888b1c0190876516c25cea71a1.1628760208.git.jan.kiszka@siemens.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUID: nrBfN3vdVHpX From: Jan Kiszka Rewrite the alternates entry to use a relative path outside of the workdir. That linke can then be created independently of the outer build environment as well as inside the buildchroot. We use ${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/.git-downloads outside and /home/.git-downloads inside the buildchroot. Signed-off-by: Jan Kiszka --- meta/classes/dpkg-base.bbclass | 8 +++++++- meta/conf/bitbake.conf | 1 + meta/recipes-devtools/buildchroot/buildchroot.inc | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index a4c8663..cd6c649 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -19,6 +19,12 @@ python do_adjust_git() { rootdir = d.getVar('WORKDIR', True) + git_link = os.path.join(d.getVar('GIT_DL_LINK_DIR'), '.git-downloads') + git_dl = os.path.join(d.getVar("DL_DIR"), "git") + + if not os.path.exists(git_link) or os.path.realpath(git_link) != git_dl: + os.symlink(git_dl, git_link) + for src_uri in (d.getVar("SRC_URI", True) or "").split(): try: fetcher = bb.fetch2.Fetch([src_uri], d) @@ -48,7 +54,7 @@ python do_adjust_git() { if os.path.exists(alternates): cmd = ["sed", "-i", alternates, "-e", - "s|{}|/downloads|".format(d.getVar("DL_DIR"))] + "s|{}|../../../../../.git-downloads|".format(git_dl)] bb.note(' '.join(cmd)) if subprocess.call(cmd) != 0: bb.fatal("git alternates adjustment failed") diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 9859456..7f5901d 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -48,6 +48,7 @@ GITPKGV = "${@bb.fetch2.get_srcrev(d, 'gitpkgv_revision')}" # isar specific config WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}/${PV}-${PR}" +GIT_DL_LINK_DIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}" DEPLOY_DIR_BOOTSTRAP = "${DEPLOY_DIR}/bootstrap" DEPLOY_DIR_BUILDCHROOT = "${DEPLOY_DIR}/buildchroot" DEPLOY_DIR_SDKCHROOT = "${DEPLOY_DIR}/sdkchroot" diff --git a/meta/recipes-devtools/buildchroot/buildchroot.inc b/meta/recipes-devtools/buildchroot/buildchroot.inc index 0c1fb7f..52a5f1c 100644 --- a/meta/recipes-devtools/buildchroot/buildchroot.inc +++ b/meta/recipes-devtools/buildchroot/buildchroot.inc @@ -67,6 +67,8 @@ buildchroot_install_files() { sudo install -m 755 ${WORKDIR}/common.sh ${BUILDCHROOT_DIR}/isar/ sudo install -m 755 ${WORKDIR}/deps.sh ${BUILDCHROOT_DIR}/isar/ + sudo ln -s /downloads/git "${BUILDCHROOT_DIR}/home/.git-downloads" + # Configure root filesystem sudo install -m 755 ${WORKDIR}/configscript.sh ${BUILDCHROOT_DIR} USER_ID=$(id -u) -- 2.31.1