From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6584097242600177664 X-Received: by 2002:a1c:6c01:: with SMTP id h1-v6mr60831wmc.7.1532979599889; Mon, 30 Jul 2018 12:39:59 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:7a0a:: with SMTP id v10-v6ls102269wmc.9.canary-gmail; Mon, 30 Jul 2018 12:39:59 -0700 (PDT) X-Google-Smtp-Source: AAOMgpe3NntoPZl5kRRGt0pBReYzCLwtBkhPwxqL2EMhsHBMe1HJMUrxb4Jj2aNAn2HceEeqgK2f X-Received: by 2002:a1c:c011:: with SMTP id q17-v6mr64899wmf.6.1532979599319; Mon, 30 Jul 2018 12:39:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532979599; cv=none; d=google.com; s=arc-20160816; b=SqQC03kdYHn2MO1q6t3AAJjhAwLgAAaClPr7V0WPWiL39+GMmplrbDRsMHsaRm5qC0 uy/lX+gY1HTfXBstVLD3CZGys6UmOX7fMGEftS39+xARaZfV9Q8m+gRBaXxwOj346gR9 ddQxHL9lQELYCXE+e3xI9OunnUZH4xaCcdY8k6gBVP0kzZtasJ0iR4CZ/jaA+7/UjP7X H3t0ISi2FllBLXQjefK+8R58o9ORCCrO6biGaTAz4DvGACUn292JinjA9mDZN/lYoQRA vhQaak2I0mKQ5qXKnmSsLfPrZC56pBg8NQIfB6fMY3EM7D8E/BOsuYEAqS3bga+E4g/S mRKg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=oq3Iz/Rvda5ZzexfPT0mUKGhQtRV7M6Or6KlpcsNBU0=; b=XTUC+zjHrDNZ7ig3hdARVIJ6E9GA/Q5x5UD7TN8beipGBfCAVK+kpQC878NPeeWhZy b2AG3dw6N8arFwBHFbEfBwA8/Iv7AmTUFNs/eWp0BCPEIgJeA2zHqGrgmK/oIs1m7DCY jZ2UyMRvHAJI+hFJnhnqI5olPOvF7ink4iajUMIVqin81mBjwy2d63/cIumJMHgp3jqi DoO0i0DXlUTi1qkILuk0g6C4UUITEPLQ+2DeQOCakosaursEu1fJgb9YQb+WxLQ9FRYR F77v1Onm6sP4NQ7G9xtBpnxz3QDTJRsu5dW6RcpvDCFA7K/DGbIavUzAKh5V1H5ITkxB G2jA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=asmirnov@ilbers.de Return-Path: Received: from aqmola.ilbers.de (aqmola.ilbers.de. [85.214.62.211]) by gmr-mx.google.com with ESMTPS id z1-v6si229793wmf.3.2018.07.30.12.39.59 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Jul 2018 12:39:59 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) client-ip=85.214.62.211; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: best guess record for domain of asmirnov@ilbers.de designates 85.214.62.211 as permitted sender) smtp.mailfrom=asmirnov@ilbers.de Received: from localhost.localdomain ([188.227.110.165]) (authenticated bits=0) by aqmola.ilbers.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id w6UJdiYD013563 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Mon, 30 Jul 2018 21:39:50 +0200 From: Alexander Smirnov To: isar-users@googlegroups.com Cc: Alexander Smirnov Subject: [PATCH v5 02/12] buildchroot: Split generic part Date: Mon, 30 Jul 2018 19:39:27 +0000 Message-Id: <20180730193937.32694-3-asmirnov@ilbers.de> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180730193937.32694-1-asmirnov@ilbers.de> References: <20180730193937.32694-1-asmirnov@ilbers.de> X-TUID: sqg1jlQ3YTPC Split generic part of the buildchroot creation process. Also intriduce buildchroot recipe for target. Signed-off-by: Alexander Smirnov --- meta/classes/dpkg-base.bbclass | 2 +- meta/classes/dpkg-raw.bbclass | 1 + meta/classes/dpkg.bbclass | 4 ++- meta/classes/wic-img.bbclass | 3 +- meta/conf/isar-bitbake.conf | 2 +- .../{buildchroot.bb => buildchroot-target.bb} | 35 ++------------------ meta/recipes-devtools/buildchroot/buildchroot.inc | 37 ++++++++++++++++++++++ 7 files changed, 48 insertions(+), 36 deletions(-) rename meta/recipes-devtools/buildchroot/{buildchroot.bb => buildchroot-target.bb} (58%) create mode 100644 meta/recipes-devtools/buildchroot/buildchroot.inc diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 75b45a7..3234234 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -15,7 +15,7 @@ inherit patch addtask patch after do_adjust_git before do_build # Add dependency from buildchroot creation -do_build[depends] = "buildchroot:do_build" +do_build[depends] = "buildchroot-target:do_build" # Add dependency between Isar recipes DEPENDS ?= "" diff --git a/meta/classes/dpkg-raw.bbclass b/meta/classes/dpkg-raw.bbclass index 28233ac..2f23eb7 100644 --- a/meta/classes/dpkg-raw.bbclass +++ b/meta/classes/dpkg-raw.bbclass @@ -7,6 +7,7 @@ DEBIAN_DEPENDS ?= "" MAINTAINER ?= "FIXME Unknown maintainer" D = "${WORKDIR}/image/" +BUILDCHROOT_DIR = "${BUILDCHROOT_TARGET_DIR}" # Populate folder that will be picked up as package do_install() { diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass index c8d4ac5..563b63c 100644 --- a/meta/classes/dpkg.bbclass +++ b/meta/classes/dpkg.bbclass @@ -1,8 +1,10 @@ # This software is a part of ISAR. -# Copyright (C) 2015-2016 ilbers GmbH +# Copyright (C) 2015-2018 ilbers GmbH inherit dpkg-base +BUILDCHROOT_DIR = "${BUILDCHROOT_TARGET_DIR}" + # Build package from sources using build script dpkg_runbuild() { E="${@ bb.utils.export_proxies(d)}" diff --git a/meta/classes/wic-img.bbclass b/meta/classes/wic-img.bbclass index 07c2a9e..b56df7b 100644 --- a/meta/classes/wic-img.bbclass +++ b/meta/classes/wic-img.bbclass @@ -13,6 +13,7 @@ STAGING_DIR ?= "${TMPDIR}" IMAGE_BASENAME ?= "${PN}-${DISTRO}" FAKEROOTCMD ?= "${ISARROOT}/scripts/wic_fakeroot" RECIPE_SYSROOT_NATIVE ?= "/" +BUILDCHROOT_DIR = "${BUILDCHROOT_TARGET_DIR}" do_wic_image[stamp-extra-info] = "${DISTRO}-${MACHINE}" @@ -73,6 +74,6 @@ do_wic_image() { cp -f `ls -t -1 ${BUILDCHROOT_DIR}/tmp/${WKS_FILE}*.direct | head -1` ${WIC_IMAGE_FILE} } -do_wic_image[depends] = "buildchroot:do_build" +do_wic_image[depends] = "buildchroot-target:do_build" addtask wic_image before do_build after do_copy_boot_files diff --git a/meta/conf/isar-bitbake.conf b/meta/conf/isar-bitbake.conf index ead7798..aaba96e 100644 --- a/meta/conf/isar-bitbake.conf +++ b/meta/conf/isar-bitbake.conf @@ -21,7 +21,7 @@ WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PF}" DL_DIR = "${TOPDIR}/downloads" SSTATE_DIR ?= "${TMPDIR}/sstate-cache" -BUILDCHROOT_DIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/buildchroot/rootfs" +BUILDCHROOT_TARGET_DIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/buildchroot-target/rootfs" CACHE = "${TMPDIR}/cache" OVERRIDES_append = ":${DISTRO}:${DISTRO_ARCH}" diff --git a/meta/recipes-devtools/buildchroot/buildchroot.bb b/meta/recipes-devtools/buildchroot/buildchroot-target.bb similarity index 58% rename from meta/recipes-devtools/buildchroot/buildchroot.bb rename to meta/recipes-devtools/buildchroot/buildchroot-target.bb index 7ad24f1..66b526a 100644 --- a/meta/recipes-devtools/buildchroot/buildchroot.bb +++ b/meta/recipes-devtools/buildchroot/buildchroot-target.bb @@ -1,19 +1,11 @@ # Root filesystem for packages building # # This software is a part of ISAR. -# Copyright (C) 2015-2016 ilbers GmbH +# Copyright (C) 2015-2018 ilbers GmbH -DESCRIPTION = "Isar development filesystem" +DESCRIPTION = "Isar development filesystem for target" -LICENSE = "gpl-2.0" -LIC_FILES_CHKSUM = "file://${LAYERDIR_isar}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe" - -FILESPATH_prepend := "${THISDIR}/files:" -SRC_URI = "file://configscript.sh \ - file://build.sh" -PV = "1.0" - -inherit isar-bootstrap-helper +include buildchroot.inc BUILDCHROOT_PREINSTALL ?= "gcc \ make \ @@ -59,25 +51,4 @@ python () { d.getVar('BUILDCHROOT_PREINSTALL_WIC', True)) } -WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}" - -do_build[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" -do_build[root_cleandirs] = "${BUILDCHROOT_DIR} \ - ${BUILDCHROOT_DIR}/isar-apt \ - ${BUILDCHROOT_DIR}/downloads \ - ${BUILDCHROOT_DIR}/home/builder" do_build[depends] = "isar-apt:do_cache_config isar-bootstrap-target:do_bootstrap" - -do_build() { - setup_root_file_system "${BUILDCHROOT_DIR}" ${BUILDCHROOT_PREINSTALL} - - # Install package builder script - sudo chmod -R a+rw "${BUILDCHROOT_DIR}/home/builder" - sudo install -m 755 ${WORKDIR}/build.sh ${BUILDCHROOT_DIR} - - # Configure root filesystem - sudo install -m 755 ${WORKDIR}/configscript.sh ${BUILDCHROOT_DIR} - sudo chroot ${BUILDCHROOT_DIR} /configscript.sh - - sudo mount --bind ${DL_DIR} ${BUILDCHROOT_DIR}/downloads -} diff --git a/meta/recipes-devtools/buildchroot/buildchroot.inc b/meta/recipes-devtools/buildchroot/buildchroot.inc new file mode 100644 index 0000000..43e3cd6 --- /dev/null +++ b/meta/recipes-devtools/buildchroot/buildchroot.inc @@ -0,0 +1,37 @@ +# Common part for build chroot filesystem. +# +# This software is a part of ISAR. +# Copyright (C) 2015-2018 ilbers GmbH + +LICENSE = "gpl-2.0" +LIC_FILES_CHKSUM = "file://${LAYERDIR_isar}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe" + +FILESPATH_prepend := "${THISDIR}/files:" +SRC_URI = "file://configscript.sh \ + file://build.sh" +PV = "1.0" + +inherit isar-bootstrap-helper + +WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}" +BUILDCHROOT_DIR = "${WORKDIR}/rootfs" + +do_build[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" +do_build[root_cleandirs] = "${BUILDCHROOT_DIR} \ + ${BUILDCHROOT_DIR}/isar-apt \ + ${BUILDCHROOT_DIR}/downloads \ + ${BUILDCHROOT_DIR}/home/builder" + +do_build() { + setup_root_file_system ${PARAMS} ${BUILDCHROOT_DIR} ${BUILDCHROOT_PREINSTALL} + + # Install package builder script + sudo chmod -R a+rw "${BUILDCHROOT_DIR}/home/builder" + sudo install -m 755 ${WORKDIR}/build.sh ${BUILDCHROOT_DIR} + + # Configure root filesystem + sudo install -m 755 ${WORKDIR}/configscript.sh ${BUILDCHROOT_DIR} + sudo chroot ${BUILDCHROOT_DIR} /configscript.sh + + sudo mount --bind ${DL_DIR} ${BUILDCHROOT_DIR}/downloads +} -- 2.11.0