From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6729358150130991104 X-Received: by 2002:a17:906:4bc2:: with SMTP id x2mr15342983ejv.95.1566800790335; Sun, 25 Aug 2019 23:26:30 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6402:1598:: with SMTP id c24ls5674421edv.3.gmail; Sun, 25 Aug 2019 23:26:29 -0700 (PDT) X-Google-Smtp-Source: APXvYqwlY1xAGDFnQ8eAsU9ooPPXKRro6BkW4qGa5MZB6umcDmEMamnVksGW1oC6rtzr8FO3tHQX X-Received: by 2002:a50:8c44:: with SMTP id p62mr16935088edp.178.1566800789836; Sun, 25 Aug 2019 23:26:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566800789; cv=none; d=google.com; s=arc-20160816; b=qmG5gcyTbi/gZJmZMPeWgV8nzgU+ymT0HFRE0GCSY/1rti0hFGLsz74ViiWSq8u5uR 0JQ4nT5Fp23WwDFFCu7AiaccPbLUxMEnWyeImZ2u+CoGl90FtTEngLwfI3F1vuhZHkk/ oteM6TEfRyQRBGa0Wr/uZbuLKQINt3GEz38+gk3nqP9kkm5IP0Xqf2v206PdxoR+L3Tg Zjsul+3Qt8N3lmWdV1Z/Hq2CUonxtW7UGzNM4RNxj3LbXxRrzfkr2lP1F3p/nmFlL/Ye /Am1vKXC8ZWbYxPRD7axgw03v2BC5gzUhyVHiV/2o/9mFnQfIIEuGvO3kdnmAK8hgCYg cPBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:references:in-reply-to:message-id:date :subject:to:from; bh=6iB3OaChvTMz951VbQAf/UhgKxqfe2rR91Yp/jfV8rc=; b=r7tHZ3z3Q4iIcRvWFwd4acvkTYwoHIk1Y7VovSo9SqfbkZb9mEXJdf0WPzG6n2o/HX HFmsz7ft3xmy5fIcqGYg0c1tDJU+l1i4NSWv6wO9NfHFkOa2Fo1w3angPenNlrAYB3Sc zCdye7rmI2iPC+eFUiAW828KspfqoE7ObniBWLLSFKdtD8SI1dKrgJ4kagOtcZG3sEIO DSP8tzgnp05oZZeg+53PQmoonFSutDQq1NpOzwNvrqb0xmkRhWPERiudBLImQsZ7m85o s5G4lgYMTJvfiXzJpDsUOu91FRaE2HjateMARTywrie5iscXCmUe1UvdlhqMFIb2vlKX B6iQ== 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 l17si558290ejg.1.2019.08.25.23.26.29 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 25 Aug 2019 23:26:29 -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 x7Q6QTiF013574 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 26 Aug 2019 08:26:29 +0200 Received: from md1f2u6c.ad001.siemens.net ([139.22.35.99]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id x7Q6QRGw015165 for ; Mon, 26 Aug 2019 08:26:28 +0200 From: Jan Kiszka To: isar-users Subject: [PATCH 04/26] Rework STAMP layout and cleaning Date: Mon, 26 Aug 2019 08:26:05 +0200 Message-Id: X-Mailer: git-send-email 2.16.4 In-Reply-To: References: In-Reply-To: References: X-TUID: 172ewk+LqQBN From: Jan Kiszka Follow OE more closely by aligning the stamps folder structure to workdir. This may resolve false sharing of stamps between recipes of common PF but different DISTRO/DISTRO_ARCH without the otherwise required stamp-extra-info. That extra-info can now be removed. As long as recipes mess with PF, we can't use OE's pattern as-is which is PN-based. Furthermore add proper STAMPCLEAN. This ensures that stamp files are cleaned when a task is rebuilt. Not providing this pattern likely caused a lot of failures when doing partial rebuilds. As we are at it, switch do_clean to STAMPCLEAN as well. Signed-off-by: Jan Kiszka --- meta/classes/base.bbclass | 5 ++--- meta/classes/dpkg-base.bbclass | 6 ------ meta/classes/dpkg-raw.bbclass | 1 - meta/classes/dpkg.bbclass | 1 - meta/classes/patch.bbclass | 2 -- meta/classes/template.bbclass | 1 - meta/conf/bitbake.conf | 4 +++- meta/recipes-kernel/linux/linux-custom.inc | 1 - 8 files changed, 5 insertions(+), 16 deletions(-) diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index ca80bf8..1d2852a 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass @@ -163,7 +163,6 @@ python do_fetch() { addtask fetch before do_build do_unpack[dirs] = "${WORKDIR}" -do_unpack[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" # Unpack package and put it into working directory python do_unpack() { @@ -206,8 +205,8 @@ python do_clean() { workdir = d.expand("${WORKDIR}") subprocess.check_call(["sudo", "rm", "-rf", workdir]) - stamppath = bb.data.expand(d.getVar('STAMP', False), d) - stampdirs = glob.glob(stamppath + ".*") + stampclean = bb.data.expand(d.getVar('STAMPCLEAN', False), d) + stampdirs = glob.glob(stampclean) subprocess.check_call(["sudo", "rm", "-rf"] + stampdirs) } diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 39c8acb..2d26418 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -16,7 +16,6 @@ do_adjust_git() { } addtask adjust_git after do_unpack before do_patch -do_adjust_git[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" inherit patch addtask patch after do_adjust_git before do_build @@ -42,7 +41,6 @@ do_apt_fetch() { addtask apt_fetch after do_unpack before do_patch do_apt_fetch[lockfiles] += "${REPO_ISAR_DIR}/isar.lock" -do_apt_fetch[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" def get_package_srcdir(d): s = os.path.abspath(d.getVar("S", True)) @@ -60,15 +58,12 @@ def get_package_srcdir(d): PP = "/home/builder/${PN}" PPS ?= "${@get_package_srcdir(d)}" -do_build[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" - # Empty do_prepare_build() implementation, to be overwritten if needed do_prepare_build() { true } addtask prepare_build after do_patch do_transform_template before do_build -do_prepare_build[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" # If Isar recipes depend on each other, they typically need the package # deployed to isar-apt do_prepare_build[deptask] = "do_deploy_deb" @@ -132,7 +127,6 @@ do_deploy_deb() { } addtask deploy_deb after do_build -do_deploy_deb[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" do_deploy_deb[lockfiles] = "${REPO_ISAR_DIR}/isar.lock" do_deploy_deb[depends] = "isar-apt:do_cache_config" do_deploy_deb[dirs] = "${S}" diff --git a/meta/classes/dpkg-raw.bbclass b/meta/classes/dpkg-raw.bbclass index ea03ea4..f8dfb2d 100644 --- a/meta/classes/dpkg-raw.bbclass +++ b/meta/classes/dpkg-raw.bbclass @@ -16,7 +16,6 @@ do_install() { } do_install[cleandirs] = "${D}" -do_install[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" addtask install after do_unpack before do_prepare_build do_prepare_build[cleandirs] += "${D}/debian" diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass index 997f2f3..dd123c3 100644 --- a/meta/classes/dpkg.bbclass +++ b/meta/classes/dpkg.bbclass @@ -14,7 +14,6 @@ do_install_builddeps() { addtask install_builddeps after do_prepare_build before do_build # apt and reprepro may not run in parallel, acquire the Isar lock do_install_builddeps[lockfiles] += "${REPO_ISAR_DIR}/isar.lock" -do_install_builddeps[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" # Build package from sources using build script dpkg_runbuild() { diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass index 2662702..c5ba463 100644 --- a/meta/classes/patch.bbclass +++ b/meta/classes/patch.bbclass @@ -78,5 +78,3 @@ python do_patch() { except bb.fetch2.BBFetchException as e: raise bb.build.FuncFailed(e) } - -do_patch[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" diff --git a/meta/classes/template.bbclass b/meta/classes/template.bbclass index f3b5f80..fb9d118 100644 --- a/meta/classes/template.bbclass +++ b/meta/classes/template.bbclass @@ -7,7 +7,6 @@ TEMPLATE_FILES ?= "" TEMPLATE_VARS ?= "PN PV DESCRIPTION HOMEPAGE MAINTAINER DISTRO_ARCH" do_transform_template[vardeps] = "TEMPLATE_FILES ${TEMPLATE_VARS}" -do_transform_template[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" python do_transform_template() { import subprocess, contextlib diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 3d18223..c41f294 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -35,7 +35,9 @@ PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[1] or '1.0 S = "${WORKDIR}/${P}" AUTOREV = "${@bb.fetch2.get_autorev(d)}" SRC_URI = "file://${FILE}" -STAMP = "${TMPDIR}/stamps/${PF}" +STAMPS_DIR ?= "${TMPDIR}/stamps" +STAMP = "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PF}/${PV}-${PR}" +STAMPCLEAN = "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PF}/*-*" SVNDIR = "${DL_DIR}/svn" T = "${WORKDIR}/temp" TMPDIR = "${TOPDIR}/tmp" diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc index ee5f20c..12d8d9c 100644 --- a/meta/recipes-kernel/linux/linux-custom.inc +++ b/meta/recipes-kernel/linux/linux-custom.inc @@ -44,7 +44,6 @@ do_install_builddeps() { addtask install_builddeps after do_prepare_build before do_build # apt and reprepro may not run in parallel, acquire the Isar lock do_install_builddeps[lockfiles] += "${REPO_ISAR_DIR}/isar.lock" -do_install_builddeps[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" dpkg_runbuild() { chmod +x ${WORKDIR}/build-kernel.sh -- 2.16.4