From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6729358150130991104 X-Received: by 2002:a17:907:212f:: with SMTP id qo15mr15770747ejb.121.1566808247467; Mon, 26 Aug 2019 01:30:47 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:906:a289:: with SMTP id i9ls5204946ejz.16.gmail; Mon, 26 Aug 2019 01:30:47 -0700 (PDT) X-Google-Smtp-Source: APXvYqz19h81wye/NFPN+anOrN6BPgnN9ioDjZqZ1sCQdW7HTybRL3he7uwiB6uC835L7IxXLMOp X-Received: by 2002:a17:906:2409:: with SMTP id z9mr15320320eja.179.1566808247071; Mon, 26 Aug 2019 01:30:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566808247; cv=none; d=google.com; s=arc-20160816; b=wUpTib78fTcaqECoqa8SEMjx0+qJ2BN4bZQT1kNtJnl2YiXVMJy/pwf1VakLjQicMM 4LA/09+z1FH3RVTLnFt/s0XIa0qd+5dcV9+WWsq/RM+AkMQztXs+2a7LaVWzrCOOaE1N RkDUsT+Y+4/kTBmqcXyA5onJ7KvEwocLzvb44WMp+Hx/Gzo4+KVODWGXnqIac/4W+jUh RiCv6PFt6hOF51GjvUgy65iQdt2Pdf6h08FDpwnpnf28szNRBwnNpyEzGIKkc/xxh2SK Ffo1dcSAORpMj6M2jU1XbeJfdMRKnGEH3lL2Mzf9awx+kuikOqvLvky039nw6no9zT/e s5Fw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:references:to:subject:from; bh=F/IUAjyUXC3fXb3Fw0IYvSISav0ryY5xY3dzYJxeZ80=; b=xh+wTG0LrmzwIYdKjD10801VmhZ/gAwbWXgOFgRcI5HabnjOHybnCVTtz55vlzTcDZ kcyKOjKt3zDilrNqmql/U4SNYbBfwqbgLgu2kCDD2sOj86TkIMV7cXoNU8RE1IZTLALN 9Av52WNTZd/2JP4y12nNJYZ8DpgXH+54Qdj65Gq/55BjmqAkKin3/fWjG7ZQ9/I9peFZ yB5NoeInbqlL/XxmuZkmVigva9clLNFjji/sH4r8OpOOlY5FYr1oAgfA7tP1zGmZcs9o q7PgWE7ZIexiWvemb6y0FOaBKlPv24P5UtqJs1xLlPpJ9wa8HXT4uZvC4kG99hV7FPtr pSEw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of claudius.heine.ext@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=claudius.heine.ext@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 m3si485887edq.0.2019.08.26.01.30.46 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Aug 2019 01:30:47 -0700 (PDT) Received-SPF: pass (google.com: domain of claudius.heine.ext@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 claudius.heine.ext@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=claudius.heine.ext@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id x7Q8Uk62000770 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 26 Aug 2019 10:30:46 +0200 Received: from [139.25.69.208] (linux-ses-ext02.ppmd.siemens.net [139.25.69.208]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id x7Q8Ukax008150; Mon, 26 Aug 2019 10:30:46 +0200 From: Claudius Heine Subject: Re: [PATCH 04/26] Rework STAMP layout and cleaning To: "[ext] Jan Kiszka" , isar-users References: Message-ID: <0b8426ae-b9e5-9c2c-62ad-302d0f85874e@siemens.com> Date: Mon, 26 Aug 2019 10:30:46 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: raFPXhd4imaL Hi Jan, On 26/08/2019 08.26, [ext] Jan Kiszka wrote: > 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}" Can you explain the issue of the PN/PF usage a bit more. I did not understand: > As long as recipes mess with PF, we can't use OE's pattern as-is which > is PN-based. The recipes that mess with PF are: buildchroot-*.bb sdkchroot.bb isar-bootstrap-*.bb and image.bbclass. All of which do not really have a version. So I would think that: STAMP = "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PN}/${PF}" STAMPCLEAN = "${STAMPS_DIR}/${DISTRO}-${DISTRO_ARCH}/${PN}/*-*" should work. Or am I missing something? regards, Claudius > +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 > -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-54 Fax: (+49)-8142-66989-80 Email: ch@denx.de