From patchwork Tue Nov 28 07:14:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinuvasan Arjunan X-Patchwork-Id: 3219 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Tue, 28 Nov 2023 08:14:30 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-qt1-f188.google.com (mail-qt1-f188.google.com [209.85.160.188]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 3AS7ESru018383 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 28 Nov 2023 08:14:29 +0100 Received: by mail-qt1-f188.google.com with SMTP id d75a77b69052e-423dba1e166sf4238331cf.3 for ; Mon, 27 Nov 2023 23:14:29 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1701155663; cv=pass; d=google.com; s=arc-20160816; b=zdkR+IEiSMCrHBqgS+xGOf2Pq1gIGKEKd2UPtj9OBXU+E4bmX5bq2gBtHGq2JXFGoA fRez8xnQSpXrksPEqOi9A0Eim4v7JHcyqdJB5z/szIEa5r8p5kInDetb7Ypx2QYyNuqg lM4vuXuDLHbvnZgHdww9/UoIKBRn/iuRknKJszE0GdX3tSToOygZDjIq7gPkhA0rbtwm zHwAVQxmTd1Pf/PSV1ZWnrdBmTa9QeyF6wQNY/nkkgyDsWHCfYJdo/4ktfDvZk9nn8i2 0eE9F9lZdbHLMXmTvrLlTBD4/HUmNjWpVhZZcBWiZMDuTEhK7g6ToWY57t723J712Iy7 tIcQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:message-id:date :subject:cc:to:from:ironport-sdr:sender:dkim-signature; bh=hi1RZ8dsNJobK0IxdtNgzjp+V4GxEooGGuTd8RS+Qfs=; fh=gp5XRFzynoG7q2ar63X04ZhCpARwhO3WOMNieBEcr3I=; b=RxKaGX+FLCGSUZImQzW+L/hZHKsD/eBJwcni100/CZMzNh4okbAy6ixsP0rxuLobn1 Th8n+UoF3NVhjDq2/v0S0MIQZY/BX/RdGV/enjtFRaZ96xF8S/LZ5NJIHnA9sRLpRAwa u26h5VhcSxcGIRxY1BnqGTA5aTqz0DHICIvgNyEg/DrntKAkPqbMfpTa9qFNRWzOscCC pm+6MUc1e5rwFuiTjq08PeZ2UV4cXclj2RdPvr8+s3WPc+PxUUt9bx+OI7Swp8xtzn4u bOd1QU+0w81mzNw1OrgFKswXX2fYzIQGGHT9b/hU194hNOfLYN48+EVLuxFP2keAWdZc IEyA== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of srinuvasan_a@mentor.com designates 68.232.129.153 as permitted sender) smtp.mailfrom=Srinuvasan_A@mentor.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1701155663; x=1701760463; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:message-id:date:subject:cc:to:from :ironport-sdr:sender:from:to:cc:subject:date:message-id:reply-to; bh=hi1RZ8dsNJobK0IxdtNgzjp+V4GxEooGGuTd8RS+Qfs=; b=qTpupQfToEk5Cj23fKf4OvcUge+t2QrG8z7BMQS9XKMlxhFVKzZ9Tk00aJgOh/5WeY T6qKucZawyCQo3tTB4ff195WtrP9k9fsMkBk6Ht59+qDSId15KSFe+H/7j9KkyPjxgkD v0orFP3AgcPXelEJSkrqoAAAh2/EXSSuN4EaRqMe61bi0EBtZHNPH4sLNwJ2HfyFejRZ IS9qJMxukcR4Mab/qfr//UTW//OmkpGR0QyhtkXK6jxMSF0IGbay/vpl0zcj0f665t+R SLtn2WGYPgyBeW4Ba0FoHk1I9KpE2jCbFXgAZOD8sj5l8epISE9x6uNCRQxbVCNcEx6I Pxhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701155663; x=1701760463; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :message-id:date:subject:cc:to:from:ironport-sdr:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=hi1RZ8dsNJobK0IxdtNgzjp+V4GxEooGGuTd8RS+Qfs=; b=W0TbepYO9hqZxeblYj3OFlX4OYFubkV3IBLvRzPTYifqWY+X4z8ytLAsmAZYX/ETBd VcUnd2DKOVwYAeFsiC3GYctgDpGUn4OGs90yjl8AczxKmwVrq0O1i0u8s0ZmtcBsQEh7 DcJyZiJ0qUrOj+qt0n+TDUHVxRlMz8bjGIQzpGlgckxogObC5eappxyr1xaG353ThJCA LUzpYM5hHKY0NBJ/fyhdEyiBwOPpDy+FwOvTqal1dcq3o6dkyN+FHvh64L2x41p1HC/U etpGbwUiA9EgDV8bPsDbKFpJMyj+yJ8VXQ2j+0I4IO84/d1w7DTtCEpMO0k2WeKcJl6X 7Dcg== Sender: isar-users@googlegroups.com X-Gm-Message-State: AOJu0YxQEXLkCyLoGu8hpTzcNAUu1sWhUlbUuAkWeXx+LEOZf8dgC8WE vmS+4ytJrlMJAfrtZ5wqCH0= X-Google-Smtp-Source: AGHT+IFWLDEWq9d1XnSoYl31XmgIqACCTB1qS+H3qk5JQTPtSYwmLaCcxu11RgUHdwziUdNJMkOvwQ== X-Received: by 2002:ac8:5992:0:b0:423:93e3:cd0c with SMTP id e18-20020ac85992000000b0042393e3cd0cmr19810281qte.44.1701155662945; Mon, 27 Nov 2023 23:14:22 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:ac8:7d13:0:b0:423:a0d4:8c61 with SMTP id g19-20020ac87d13000000b00423a0d48c61ls483347qtb.2.-pod-prod-09-us; Mon, 27 Nov 2023 23:14:22 -0800 (PST) X-Received: by 2002:a05:622a:11d1:b0:41c:e028:7254 with SMTP id n17-20020a05622a11d100b0041ce0287254mr16556252qtk.34.1701155662268; Mon, 27 Nov 2023 23:14:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701155662; cv=none; d=google.com; s=arc-20160816; b=PrcSqLk3yloUgJnC8UtLNH3L4b9d80tX16KPMb3rRXKtrdN7jJAwJ05QovS1zo1H46 NAmM3eHqvoCockvfd38zd7yD0feTD+SXwTjGLu4hnk1JaHrPALNmIaHz/2QnWJMudwwL +ZBc5ltWjnWzpgvqtmEfvssKJPTAXvWOYpCq0X/W3gfHDI4AETJKRiu8D1Z/QDdN2iPI TiqIrIERmx8kG7CAoX2lDZ1yclaXVIq1HJyUV+4rdQmhVA5NZWhjqSn2kyCVxsX3XjEg xtwbr3LaoCrpRhREbmyAA8Ix9cH67d1Ej6ncSd8dCJmO7gsuJM4O6F/NiGFKOFg4LdIM wSZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:ironport-sdr; bh=T5IUsRMhNFtHuC5R/P4gvBBXfaeNT6xM4a8JFrBnpKM=; fh=gp5XRFzynoG7q2ar63X04ZhCpARwhO3WOMNieBEcr3I=; b=B39fnZSDJe7N+/MDSYabMhV7lbKjGkcd10CAUv2S9vPGhScniIrEi4kEsCNSK918VD xI/p2CDg6xQLA4Hp9U7x3ko9xb84oTyYhKCj70akee6nWD+6lpyGgs225nuBShWY1xKA mtxM1MhHEk54T/LibojtEIjZi/y3i36hgFxgpywh2J4VHpL1SUBV8LPQfDI7ADKCKb1l s7VX7yRm9vm4G82g0Ju3hN+/Em1VAcqOxjhsVKwr98dE0mNF2AQH2oC/oWixCaKEQxJ4 wVgIt1jZFcwj8NgJLReweWSKc9qzIRFgcH9efidzrSbLBRy4o1pWiV/2N8a14uXMY0JP YMiQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of srinuvasan_a@mentor.com designates 68.232.129.153 as permitted sender) smtp.mailfrom=Srinuvasan_A@mentor.com Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com. [68.232.129.153]) by gmr-mx.google.com with ESMTPS id ay14-20020a05622a228e00b00423977fa478si1718659qtb.3.2023.11.27.23.14.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 27 Nov 2023 23:14:22 -0800 (PST) Received-SPF: pass (google.com: domain of srinuvasan_a@mentor.com designates 68.232.129.153 as permitted sender) client-ip=68.232.129.153; X-CSE-ConnectionGUID: GkdS+x9KThONjrk2YqPpxg== X-CSE-MsgGUID: O6FY8ITQRCedbSpjvcChWg== X-IronPort-AV: E=Sophos;i="6.04,233,1695715200"; d="scan'208";a="26972656" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa1.mentor.iphmx.com with ESMTP; 27 Nov 2023 23:14:20 -0800 IronPort-SDR: lvR/JnE+YYW3lIv6NuHOnEpQ3IHtrkoQu1MoooGzAntnJHUYQxLgA3DT5PtNt5iNzyEKcom8bp vrwS2OiIzSSRcB/aG5LZ+tdpO+fn3ezxdVtrLP65d0ofjIH4GzjeY2URd062x9wvvqkKUTdwFJ kD5TUZuKH85bISqn7y0F1hEuVLUvGMq1fZsU8ICyLyRwXCXmMXDPoa4mVRhIPyoKi+ZXB7iCDr Q67wCeyMhDzDlXYFfk0PL4RdbfkheGYPyOtHBuXXUpwQUSJ3K5nSoP9I2MxI0WLV/UlF/eEEuh wRA= From: Srinuvasan Arjunan To: CC: Srinuvasan A Subject: [RFC][PATCH] Add sbuildchroot class Date: Tue, 28 Nov 2023 12:44:01 +0530 Message-ID: <20231128071401.1894962-1-srinuvasan_a@mentor.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-ClientProxiedBy: svr-orw-mbx-12.mgc.mentorg.com (147.34.90.212) To svr-orw-mbx-12.mgc.mentorg.com (147.34.90.212) X-Original-Sender: srinuvasan_a@mentor.com X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of srinuvasan_a@mentor.com designates 68.232.129.153 as permitted sender) smtp.mailfrom=Srinuvasan_A@mentor.com Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= From: Srinuvasan A In present implementation we are using sbuild/schroot to build the packages, this schroot created via sessions during package build, and immediatley vanish once build the packages. Some of the downstream projects uses this chroot at many places for doing some postprocessing the meta data based on the chroot path, but unfortunately we cannot refer this path due to creating the chroot via session. Hence install the required packages in persistence sbuildchroot, to access isar-apt and other directories we introduces the sbuildchroot class. Signed-off-by: Srinuvasan A --- meta/classes/sbuildchroot.bbclass | 101 ++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 meta/classes/sbuildchroot.bbclass diff --git a/meta/classes/sbuildchroot.bbclass b/meta/classes/sbuildchroot.bbclass new file mode 100644 index 00000000..edddd566 --- /dev/null +++ b/meta/classes/sbuildchroot.bbclass @@ -0,0 +1,101 @@ +# This software is a part of ISAR. +# Copyright (C) 2018 Siemens AG +# +# SPDX-License-Identifier: MIT + +inherit crossvars + +MOUNT_LOCKFILE = "${SCHROOT_DIR}.lock" + +sbuildchroot_do_mounts() { + if [ "${USE_CCACHE}" = "1" ]; then + mkdir -p "${CCACHE_DIR}" + if [ "${CCACHE_DEBUG}" = "1" ]; then + mkdir -p "${CCACHE_DIR}/debug" + fi + fi + + sudo -s <<'EOSUDO' + ( flock 9 + set -e + + mountpoint -q '${SCHROOT_DIR}/isar-apt' || + mount --bind '${REPO_ISAR_DIR}/${DISTRO}' '${SCHROOT_DIR}/isar-apt' + if [ "${USE_CCACHE}" = "1" ]; then + mkdir -p '${SCHROOT_DIR}/ccache' + mountpoint -q '${SCHROOT_DIR}/ccache' || + mount --bind '${CCACHE_DIR}' '${SCHROOT_DIR}/ccache' + fi + mountpoint -q '${SCHROOT_DIR}/dev' || + ( mount -o bind,private /dev '${SCHROOT_DIR}/dev' && + mount -t tmpfs none '${SCHROOT_DIR}/dev/shm' && + mount --bind /dev/pts '${SCHROOT_DIR}/dev/pts' ) + mountpoint -q '${SCHROOT_DIR}/proc' || + mount -t proc none '${SCHROOT_DIR}/proc' + mountpoint -q '${SCHROOT_DIR}/sys' || + mount --rbind /sys '${SCHROOT_DIR}/sys' + mount --make-rslave '${SCHROOT_DIR}/sys' + + # Mount base-apt if 'ISAR_USE_CACHED_BASE_REPO' is set + if [ "${@repr(bb.utils.to_boolean(d.getVar('ISAR_USE_CACHED_BASE_REPO')))}" = 'True' ] + then + mkdir -p '${SCHROOT_DIR}/base-apt' + mountpoint -q '${SCHROOT_DIR}/base-apt' || \ + mount --bind '${REPO_BASE_DIR}' '${SCHROOT_DIR}/base-apt' + fi + + # Refresh or remove /etc/resolv.conf at this chance + if [ "${@repr(bb.utils.to_boolean(d.getVar('BB_NO_NETWORK')))}" = 'True' ] + then + rm -rf '${SCHROOT_DIR}/etc/resolv.conf' + else + cp -L /etc/resolv.conf '${SCHROOT_DIR}/etc' + fi + + ) 9>'${MOUNT_LOCKFILE}' +EOSUDO +} + +add_isar_apt() { + sudo -s <<'EOSUDO' + set -e + + mkdir -p '${SCHROOT_DIR}/etc/apt/sources.list.d' + echo 'deb [trusted=yes] file:///isar-apt ${DEBDISTRONAME} main' > \ + '${SCHROOT_DIR}/etc/apt/sources.list.d/isar-apt.list' + echo 'deb-src [trusted=yes] file:///isar-apt ${DEBDISTRONAME} main' >> \ + '${SCHROOT_DIR}/etc/apt/sources.list.d/isar-apt.list' + + mkdir -p '${SCHROOT_DIR}/etc/apt/preferences.d' + cat << EOF > '${SCHROOT_DIR}/etc/apt/preferences.d/isar-apt' +Package: * +Pin: release n=${DEBDISTRONAME} +Pin-Priority: 1000 +EOF +EOSUDO +} + +cleanup_isar_apt() { + sudo -s <<'EOSUDO' + set -e + rm -f "${SCHROOT_DIR}/etc/apt/sources.list.d/isar-apt.list" + rm -f "${SCHROOT_DIR}/etc/apt/preferences.d/isar-apt" + rm -f "${SCHROOT_DIR}/etc/apt/sources.list.d/base-apt.list" + rm -f "${SCHROOT_DIR}/etc/apt/apt.conf.d/50isar" +EOSUDO +} + +image_do_mounts() { + sudo flock ${MOUNT_LOCKFILE} -c ' \ + mkdir -p "${BUILDROOT_DEPLOY}" "${BUILDROOT_ROOTFS}" "${BUILDROOT_WORK}" + mount --bind "${DEPLOY_DIR_IMAGE}" "${BUILDROOT_DEPLOY}" + mount --bind "${IMAGE_ROOTFS}" "${BUILDROOT_ROOTFS}" + mount --bind "${WORKDIR}" "${BUILDROOT_WORK}" + ' + sbuildchroot_do_mounts +} + +BUILDROOT = "${SCHROOT_DIR}${PP}" +BUILDROOT_DEPLOY = "${SCHROOT_DIR}${PP_DEPLOY}" +BUILDROOT_ROOTFS = "${SCHROOT_DIR}${PP_ROOTFS}" +BUILDROOT_WORK = "${SCHROOT_DIR}${PP_WORK}"