From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6467810279643152384 X-Received: by 10.28.149.18 with SMTP id x18mr32580wmd.18.1505984969836; Thu, 21 Sep 2017 02:09:29 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 10.223.154.16 with SMTP id z16ls601498wrb.4.gmail; Thu, 21 Sep 2017 02:09:29 -0700 (PDT) X-Google-Smtp-Source: AOwi7QDguc3l5qZfwCiPnp4OcLVTQANrG9Vq7e06lAU/QqDHsUJ0BRDIeDOvlFuMgbCi1UfZxm9v X-Received: by 10.28.22.4 with SMTP id 4mr35164wmw.13.1505984969546; Thu, 21 Sep 2017 02:09:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1505984969; cv=none; d=google.com; s=arc-20160816; b=XMTweLvCUHRowAGND7YZ3C4Ytg/tD2tLRT7HMoktVR87Wi+3KRK+zwsynAxJfzFzbs BNZ8WhBQIl8r+YCsq1opGnAt4PraKdVGXbbWzaHRCcvO6PrQFF3w5eSjU5ideRitQo93 Jqqe+EcgzK9OFtH4LppjzAjjM5h2Zw6JzHGeDQZyA+oYGax2+rCOyFhkFzgy0Z1B8LbI xqKugIFvqmw2y5A7r1B8h7IciNnr9H54jeO+WBY4bFJ2OxrbcDyFxp1qILuw5wAx/meO 9Rz/tK5g5chgq099XpY/u9Bb/vOfcngJKmkk9Ltg6sDjQZRkXO1o47MymvN7f6oc8qqD VbZA== 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:subject:cc:to:from:date:arc-authentication-results; bh=v99ZUuTpv7cXzA2wt25SenDP7dUjATNtl2LCm6pbSi4=; b=l1+ajw6QgScjrwSihmF7KQeUOioURsA/PqX5Vzp95jv0LJuQ+e0Z4ejjR7Nwfrn1Td 2H9UzCf68b5/399g+FH4+WW/rf2meH/b+kWU/GnZce5laVR5gNPqiEJ1+FaguEbSPC7T tTcTVa53fO93XIe3uYLKZYIg0beMtAC/q+ibVMDJr28rmLN0pTRziAaqgz5yGII8J23E Nhln6cSkiX9tjXrcXud7jqb02OOZy0yqBlbulbom1gw4jGBEiWO8lj6iqZzG8J9F4Q3Y YD+bWZwlBygtrmUrMpfpX24COoP8ikNn5WUJ0eODw0vZSBvlkOp0P9BC3GgqPJjnXG73 PmDw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 192.35.17.2 is neither permitted nor denied by domain of henning.schild@siemens.com) smtp.mailfrom=henning.schild@siemens.com Return-Path: Received: from thoth.sbs.de (thoth.sbs.de. [192.35.17.2]) by gmr-mx.google.com with ESMTPS id l133si97268wmb.3.2017.09.21.02.09.29 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Sep 2017 02:09:29 -0700 (PDT) Received-SPF: neutral (google.com: 192.35.17.2 is neither permitted nor denied by domain of henning.schild@siemens.com) client-ip=192.35.17.2; Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 192.35.17.2 is neither permitted nor denied by domain of henning.schild@siemens.com) smtp.mailfrom=henning.schild@siemens.com Received: from mail1.siemens.de (mail1.siemens.de [139.23.33.14]) by thoth.sbs.de (8.15.2/8.15.2) with ESMTPS id v8L99S4j032637 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 21 Sep 2017 11:09:28 +0200 Received: from md1em3qc ([139.25.68.40]) by mail1.siemens.de (8.15.2/8.15.2) with ESMTP id v8L99Slm002138; Thu, 21 Sep 2017 11:09:28 +0200 Date: Thu, 21 Sep 2017 11:09:43 +0200 From: Henning Schild To: "[ext] claudius.heine.ext@siemens.com" Cc: , Claudius Heine Subject: Re: [PATCH 1/1] meta-isar/isar-image-base and meta/buildchroot: Use fetcher for files Message-ID: <20170921110943.10889f11@md1em3qc> In-Reply-To: <20170920104645.10475-2-claudius.heine.ext@siemens.com> References: <20170920104645.10475-1-claudius.heine.ext@siemens.com> <20170920104645.10475-2-claudius.heine.ext@siemens.com> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: O64URJRwOm++ Am Wed, 20 Sep 2017 12:46:45 +0200 schrieb "[ext] claudius.heine.ext@siemens.com" : > From: Claudius Heine > > Issue: > Copying from the recipe directory is currently done by copying from it > using the "THISDIR" variable. This variable points to the wrong > directory when recipes are 'required' by other recipes. Looks good, that will enable layering where i still have a few local patches. But that one is better than mine. > Change: > Use the bitbake fetchers for these files. > > Impact: > No negative impact known. > > Signed-off-by: Claudius Heine > --- > meta-isar/recipes-core/images/isar-image-base.bb | 41 > +++++++++++++----------- > meta/recipes-devtools/buildchroot/buildchroot.bb | 34 > +++++++++++--------- 2 files changed, 40 insertions(+), 35 > deletions(-) > > diff --git a/meta-isar/recipes-core/images/isar-image-base.bb > b/meta-isar/recipes-core/images/isar-image-base.bb index > 5cb8b1c..f4b0125 100644 --- > a/meta-isar/recipes-core/images/isar-image-base.bb +++ > b/meta-isar/recipes-core/images/isar-image-base.bb @@ -8,6 +8,12 @@ > DESCRIPTION = "Multistrap target filesystem" LICENSE = "gpl-2.0" > LIC_FILES_CHKSUM = > "file://${LAYERDIR_isar}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe" > +FILESPATH =. "${LAYERDIR_isar}/recipes-core/images/files:" > +SRC_URI = "file://multistrap.conf.in \ > + file://${DISTRO_CONFIG_SCRIPT} \ > + file://setup.sh \ > + file://download_dev-random" > + > PV = "1.0" > > inherit image > @@ -20,38 +26,35 @@ IMAGE_PREINSTALL += "apt \ > WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}" > > do_rootfs[stamp-extra-info] = "${MACHINE}-${DISTRO}" > +do_rootfs[dirs] = "${WORKDIR}/hooks_multistrap" I think moving from mkdir to this could be a seperate patch. Same for buildchroot. The rest looks good. Henning > do_rootfs() { > - install -d -m 755 ${WORKDIR}/hooks_multistrap > - > - # Copy config file > - install -m 644 ${THISDIR}/files/multistrap.conf.in > ${WORKDIR}/multistrap.conf > - install -m 755 ${THISDIR}/files/${DISTRO_CONFIG_SCRIPT} > ${WORKDIR}/configscript.sh > - install -m 755 ${THISDIR}/files/setup.sh ${WORKDIR} > - install -m 755 ${THISDIR}/files/download_dev-random > ${WORKDIR}/hooks_multistrap/ > + chmod +x "${WORKDIR}/${DISTRO_CONFIG_SCRIPT}" > + chmod +x "${WORKDIR}/setup.sh" > + install -m 755 "${WORKDIR}/download_dev-random" > "${WORKDIR}/hooks_multistrap/" > # Multistrap accepts only relative path in configuration files, > so get it: cd ${TOPDIR} > WORKDIR_REL=${@ os.path.relpath(d.getVar("WORKDIR", True))} > > # Adjust multistrap config > - sed -i -e 's|##IMAGE_PREINSTALL##|${IMAGE_PREINSTALL}|g' \ > - -e 's|##DISTRO##|${DISTRO}|g' \ > - -e 's|##DISTRO_APT_SOURCE##|${DISTRO_APT_SOURCE}|g' \ > - -e 's|##DISTRO_SUITE##|${DISTRO_SUITE}|g' \ > - -e 's|##DISTRO_COMPONENTS##|${DISTRO_COMPONENTS}|g' \ > - -e > 's|##CONFIG_SCRIPT##|./'"$WORKDIR_REL"'/configscript.sh|g' \ > - -e 's|##SETUP_SCRIPT##|./'"$WORKDIR_REL"'/setup.sh|g' \ > - -e > 's|##DIR_HOOKS##|./'"$WORKDIR_REL"'/hooks_multistrap|g' \ > - ${WORKDIR}/multistrap.conf > + sed -e 's|##IMAGE_PREINSTALL##|${IMAGE_PREINSTALL}|g' \ > + -e 's|##DISTRO##|${DISTRO}|g' \ > + -e 's|##DISTRO_APT_SOURCE##|${DISTRO_APT_SOURCE}|g' \ > + -e 's|##DISTRO_SUITE##|${DISTRO_SUITE}|g' \ > + -e 's|##DISTRO_COMPONENTS##|${DISTRO_COMPONENTS}|g' \ > + -e > 's|##CONFIG_SCRIPT##|./'"$WORKDIR_REL"'/${DISTRO_CONFIG_SCRIPT}|g' \ > + -e 's|##SETUP_SCRIPT##|./'"$WORKDIR_REL"'/setup.sh|g' \ > + -e 's|##DIR_HOOKS##|./'"$WORKDIR_REL"'/hooks_multistrap|g' \ > + "${WORKDIR}/multistrap.conf.in" > > "${WORKDIR}/multistrap.conf" > # Create root filesystem > sudo multistrap -a ${DISTRO_ARCH} -d "${IMAGE_ROOTFS}" -f > "${WORKDIR}/multistrap.conf" || true > # Configure root filesystem > - sudo chroot ${IMAGE_ROOTFS} /configscript.sh ${MACHINE_SERIAL} > ${BAUDRATE_TTY} \ > + sudo chroot ${IMAGE_ROOTFS} /${DISTRO_CONFIG_SCRIPT} > ${MACHINE_SERIAL} ${BAUDRATE_TTY} \ ${ROOTFS_DEV} > - sudo rm ${IMAGE_ROOTFS}/configscript.sh > + sudo rm "${IMAGE_ROOTFS}/${DISTRO_CONFIG_SCRIPT}" > } > > -addtask rootfs before do_populate > +addtask rootfs before do_populate after do_unpack > diff --git a/meta/recipes-devtools/buildchroot/buildchroot.bb > b/meta/recipes-devtools/buildchroot/buildchroot.bb index > 30039f2..a5a1896 100644 --- > a/meta/recipes-devtools/buildchroot/buildchroot.bb +++ > b/meta/recipes-devtools/buildchroot/buildchroot.bb @@ -8,6 +8,11 @@ > DESCRIPTION = "Multistrap development filesystem" LICENSE = "gpl-2.0" > LIC_FILES_CHKSUM = > "file://${LAYERDIR_isar}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe" > +FILESPATH =. "${LAYERDIR_core}/recipes-devtools/buildchroot/files:" > +SRC_URI = "file://multistrap.conf.in \ > + file://configscript.sh \ > + file://setup.sh \ > + file://download_dev-random" > PV = "1.0" > > BUILDCHROOT_PREINSTALL ?= "gcc \ > @@ -24,30 +29,27 @@ BUILDCHROOT_PREINSTALL ?= "gcc \ > WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}" > > do_build[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" > +do_build[dirs] = "${WORKDIR}/hooks_multistrap" > > do_build() { > - install -d -m 755 ${WORKDIR}/hooks_multistrap > - > - # Copy config files > - install -m 644 ${THISDIR}/files/multistrap.conf.in > ${WORKDIR}/multistrap.conf > - install -m 755 ${THISDIR}/files/configscript.sh ${WORKDIR} > - install -m 755 ${THISDIR}/files/setup.sh ${WORKDIR} > - install -m 755 ${THISDIR}/files/download_dev-random > ${WORKDIR}/hooks_multistrap/ > + chmod +x "${WORKDIR}/setup.sh" > + chmod +x "${WORKDIR}/configscript.sh" > + install -m 755 "${WORKDIR}/download_dev-random" > "${WORKDIR}/hooks_multistrap/" > # Multistrap accepts only relative path in configuration files, > so get it: cd ${TOPDIR} > WORKDIR_REL=${@ os.path.relpath(d.getVar("WORKDIR", True))} > > # Adjust multistrap config > - sed -i -e > 's|##BUILDCHROOT_PREINSTALL##|${BUILDCHROOT_PREINSTALL}|g' \ > - -e 's|##DISTRO##|${DISTRO}|g' \ > - -e 's|##DISTRO_APT_SOURCE##|${DISTRO_APT_SOURCE}|g' \ > - -e 's|##DISTRO_SUITE##|${DISTRO_SUITE}|g' \ > - -e 's|##DISTRO_COMPONENTS##|${DISTRO_COMPONENTS}|g' \ > - -e > 's|##CONFIG_SCRIPT##|./'"$WORKDIR_REL"'/configscript.sh|g' \ > - -e 's|##SETUP_SCRIPT##|./'"$WORKDIR_REL"'/setup.sh|g' \ > - -e > 's|##DIR_HOOKS##|./'"$WORKDIR_REL"'/hooks_multistrap|g' \ > - ${WORKDIR}/multistrap.conf > + sed -e > 's|##BUILDCHROOT_PREINSTALL##|${BUILDCHROOT_PREINSTALL}|g' \ > + -e 's|##DISTRO##|${DISTRO}|g' \ > + -e 's|##DISTRO_APT_SOURCE##|${DISTRO_APT_SOURCE}|g' \ > + -e 's|##DISTRO_SUITE##|${DISTRO_SUITE}|g' \ > + -e 's|##DISTRO_COMPONENTS##|${DISTRO_COMPONENTS}|g' \ > + -e > 's|##CONFIG_SCRIPT##|./'"$WORKDIR_REL"'/configscript.sh|g' \ > + -e 's|##SETUP_SCRIPT##|./'"$WORKDIR_REL"'/setup.sh|g' \ > + -e 's|##DIR_HOOKS##|./'"$WORKDIR_REL"'/hooks_multistrap|g' \ > + "${WORKDIR}/multistrap.conf.in" > > "${WORKDIR}/multistrap.conf" > # Create root filesystem > sudo multistrap -a ${DISTRO_ARCH} -d "${BUILDCHROOT_DIR}" -f > "${WORKDIR}/multistrap.conf" || true