From patchwork Fri May 26 07:00:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uladzimir Bely X-Patchwork-Id: 2840 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 26 May 2023 09:00:44 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-qv1-f55.google.com (mail-qv1-f55.google.com [209.85.219.55]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 34Q70fJf013371 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 26 May 2023 09:00:42 +0200 Received: by mail-qv1-f55.google.com with SMTP id 6a1803df08f44-62609400a3bsf4596436d6.2; Fri, 26 May 2023 00:00:42 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1685084436; cv=pass; d=google.com; s=arc-20160816; b=WaxBwSpiajTuMZMEQM71Hkc+EOzkLSIhMvyYfosZ3RK/qMtjJGrM8S3hzmSk4QfoWQ 0MZioDL6Ut6QOQT/8CMDYhgfUvZAWoIzD7NS3QYNtBB+6y7tSiIDrGdn9cASXY8rJLNj Nyy6347uG8LUBhULPzMBTeXQIU/Bc6sjcllwrtaZHhm+wL/lo9EKbASCkogqlTEtnu++ zMVS06a/8sT0SYWK0apbLGE/vYUFcSr5528lua5bZAKIy3toWe6ZZ0gSIqWXUPMU9nWj 5pIyF/SVdcI3OikANoeBeFz/Q+BjrnwzHHEB1JjehO/51G9f4VAKXxh9R0F7ClKVedu9 ZvHg== 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:references:in-reply-to :message-id:date:subject:to:from:sender:dkim-signature; bh=hUOf3I3VL/JQdVkhKGy/sgR+lLdYI8dmsR1YBh4WFjo=; b=FGimZn37ySx+WONL5/IKhxRWetCVA5F8UQXxEmbTOdDtXA8nmzD3+JKnDN6W1pgvNS uqz7eCM987i9EWggTe/qkvWbLnDwgeCvHkWmwh7AgvG0eamJthJAbE6GdeHYbPgcKolI gTiP5KYqicncWkrqN6bPwtL9vNASleLKVem7oi5iwRM4zWUN3pw2XP8tRHxZkDSDH+SN 8lbgrikqkWU4JT287nA/xxsrgpfd+Tcv7qxe1Ks0/X5DhFM6BvZJfso+Mq0GRRcPK0X9 9i3yZrB9SZEJqGnQm+4Q0oFG5E/MiSG5T8kdQeDFvX+KSvdSIJrdjDczVvsvkIADKiYK 4Cqg== ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20221208; t=1685084436; x=1687676436; 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:references:in-reply-to:message-id :date:subject:to:from:sender:from:to:cc:subject:date:message-id :reply-to; bh=hUOf3I3VL/JQdVkhKGy/sgR+lLdYI8dmsR1YBh4WFjo=; b=jT1Qt9IqR5+S7mvqJpQW/JYUO8dC9OL+8ShWDAbp9hORivYtTfLXHbRgIr26JCX2Jy lqbaSNnZveKquSMHrKA/rePO0ZGpJD0mdNfC6mDJXR5JcnF1IXkco18quVxuYsNcavBA NOoP6DMthmo9ACP1TesBio/TeE27XTrNvGWuolAZZBR2xbPd/awIh3gXDe+yzBJcLPQe RoeC4qsqH3doZIvJDPGjnUQMZCoJNQDf6+Clgwf/w4UuuF/UMylUDwqusWw7wD9uCj4o hAzTXogunwo1dmPkrESZzwpVKrS5UBAMI5ORlQMbGDj2g7naUH6RmsfrUsgU8B1zHAme Zr/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685084436; x=1687676436; 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 :references:in-reply-to:message-id:date:subject:to:from:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to; bh=hUOf3I3VL/JQdVkhKGy/sgR+lLdYI8dmsR1YBh4WFjo=; b=ME7iqu/AeiSywP03jBSv8+3fE0T+umPoAOypfz0SwcsVknK3MWgrdKqV8TAehmcI+U fdAmg+XktyVTR0n0bvlHedssfIYA7pX9+l3iveKQ/fCx/8/ivT+BdnupEnLhLpFLOnLe +V2Pq1UMJewy7DdG+swFWnx7kMTM1k2cSg1j0LuZVXQy+aTt+qjf+XTjOaLVO42eMxfb MHBBx97WsjIJDoiL/fw07VECguMqFyOG2Ig2D9k7vnoKxKxeEsW8oC+uixDmD01bYuQe j/GhP/unZ+sn+QRYzyVCVtTr5vrm+POZJSQBu4+2ZcId8SctGDXd+E+ifJnSJpNB2LD/ atng== Sender: isar-users@googlegroups.com X-Gm-Message-State: AC+VfDxzXsvX708MeLXdSGOPHSywXfJnF4DIdPAI7yPO78UfCRIaoOQx o8Bf9OccfDyvoYyvi7F/4vA= X-Google-Smtp-Source: ACHHUZ6ZHFj2dZB2ESQNRGi81j1pVz/HOVkjkQgxo4AIDa6f7CpiOpd3KyBBX0+jZSivFxhoFhbPOw== X-Received: by 2002:ad4:5a14:0:b0:61b:5c7c:af11 with SMTP id ei20-20020ad45a14000000b0061b5c7caf11mr202864qvb.7.1685084436393; Fri, 26 May 2023 00:00:36 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:ac8:74d5:0:b0:3f6:c08f:35fe with SMTP id j21-20020ac874d5000000b003f6c08f35fels514762qtr.1.-pod-prod-09-us; Fri, 26 May 2023 00:00:35 -0700 (PDT) X-Received: by 2002:a05:620a:40d2:b0:75b:23a1:3638 with SMTP id g18-20020a05620a40d200b0075b23a13638mr1219122qko.73.1685084435716; Fri, 26 May 2023 00:00:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1685084435; cv=none; d=google.com; s=arc-20160816; b=pAgtXlSw1gcLtI3cWrThp60bvy7tDGMtVOySzUPlsgHHS6L5DsUYhvaBZVfmyb8bTq lNTpE8OwGcxVS8WnNIh64hexVK1mDIza3TsLnAuamlD0QTbUoVCqyISp7ilghn4O/ZBN cOp5O4Or3CntpYfH/wxsC5z0xR2PBmsRAKOqLAQXvfYsVqtMusCRPmYTncoYKUCe9hIL 8TlF6dlNuNgCgBifr3JEXmGzL/yp+Qr6Bptd/56jvMazzcGi9/tMrlQcHPrOIP3Zw8ko C0UUeQHAhbADQH/pvpvygNnTVCSXUpJRe+wUSe4bWi4l4/Hj6lMu57tZkf1FB/L8QfXG C0HA== 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:date:subject:to:from; bh=j+iOBgE8VBlctDpx5IPnXi+dmgv0xdr2xghgFqSNDFU=; b=q4gmoWNtrQw/Xf8to5KJrqn4yjzr/UMpTIpzplpDQbLmOlZH0XEx5tROLzOnERoinI iAZI7caYHBZMD6IWoj/gBFk7yMUDDvXvzWMEGDL9gao3YIgO1bQtB1UQFLNQHRvJ9GjV Z/93Y1bYwAv8DOLphAz0Ck1PoRGqB1W7q9/fTTotA3zM+yKR36J1ZqCRB74Rj5vA5QNR MJHrLmYPs+bOCvPgENoHMDce3VfCwHz6NTPAcvJ7T7Q8EZ8PGGCWwipU14Lex7FXTec4 nUM5ifUtsOqbj+RfRnASqRDeTj2sb+KLuzDrJgyQu9CfSdYQlqqBmQQTBYe8+GiTSEup gFsw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id a21-20020a05620a439500b0075b38daac2asi262608qkp.6.2023.05.26.00.00.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 26 May 2023 00:00:35 -0700 (PDT) Received-SPF: pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from baighyz.m.ilbers.de (host-80-81-17-52.static.customer.m-online.net [80.81.17.52]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 34Q70R3Y013306 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 26 May 2023 09:00:29 +0200 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH v5 04/12] meta: Add debrepo bbclass handling base-apt prefetching Date: Fri, 26 May 2023 09:00:19 +0200 Message-Id: <20230526070027.16890-5-ubely@ilbers.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20230526070027.16890-1-ubely@ilbers.de> References: <20230526070027.16890-1-ubely@ilbers.de> MIME-Version: 1.0 X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,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-Original-Sender: ubely@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= This class uses 'scripts/debrepo' python script to prefetch given packages or sources to local base-apt repository. Signed-off-by: Uladzimir Bely --- meta/classes/debrepo.bbclass | 86 ++++++++++++++++++++++++++++++++++++ meta/conf/bitbake.conf | 5 +++ 2 files changed, 91 insertions(+) create mode 100644 meta/classes/debrepo.bbclass diff --git a/meta/classes/debrepo.bbclass b/meta/classes/debrepo.bbclass new file mode 100644 index 00000000..8f2a3215 --- /dev/null +++ b/meta/classes/debrepo.bbclass @@ -0,0 +1,86 @@ +DEBREPO_WORKDIR ?= "${DEBREPO_TARGET_DIR}" + +debrepo_update_apt_source_list() { + if [ "${ISAR_PREFETCH_BASE_APT}" != "1" ]; then + return + fi + + chroot_dir=${1} + apt_list=${2} + + flock -x "${REPO_BASE_DIR}/repo.lock" -c " + sudo -E chroot ${chroot_dir} /usr/bin/apt-get update \ + -o Dir::Etc::SourceList=\"sources.list.d/${apt_list}.list\" \ + -o Dir::Etc::SourceParts=\"-\" \ + -o APT::Get::List-Cleanup=\"0\" + " +} + +debrepo_add_packages() { + if [ "${ISAR_PREFETCH_BASE_APT}" != "1" ]; then + return + fi + + if [ "${ISAR_USE_CACHED_BASE_REPO}" = "1" ]; then + return + fi + + args="" + if [ "${1}" = "--srcmode" ]; then + args="${args} --srcmode" + shift + fi + + workdir="${1}" + pkgs="${2}" + + if [ -n "${GNUPGHOME}" ]; then + export GNUPGHOME="${GNUPGHOME}" + fi + + flock -x "${workdir}/repo.lock" -c " + ${SCRIPTSDIR}/debrepo \ + ${args} \ + --workdir=\"${workdir}\" \ + ${pkgs} + " +} + +debrepo_handle_controlfile() { + if [ "${ISAR_PREFETCH_BASE_APT}" != "1" ]; then + return + fi + + if [ "${ISAR_USE_CACHED_BASE_REPO}" = "1" ]; then + return + fi + + control_file="${1}" + + args="" + pkgs="" + + build_arch=${DISTRO_ARCH} + if [ "${ISAR_CROSS_COMPILE}" = "1" ]; then + build_arch=${HOST_ARCH} + fi + if [ "${PACKAGE_ARCH}" != "${build_arch}" ]; then + args="--crossbuild" + pkgs="${pkgs} crossbuild-essential-${PACKAGE_ARCH}:${build_arch}" + pkgs="${pkgs} dose-distcheck:${build_arch}" + pkgs="${pkgs} libc-dev:${PACKAGE_ARCH}" + pkgs="${pkgs} libstdc++-dev:${PACKAGE_ARCH}" + fi + + if [ -n "${GNUPGHOME}" ]; then + export GNUPGHOME="${GNUPGHOME}" + fi + + flock -x "${DEBREPO_WORKDIR}/repo.lock" -c " + ${SCRIPTSDIR}/debrepo \ + --workdir=\"${DEBREPO_WORKDIR}\" \ + --controlfile=\"${control_file}\" \ + ${args} \ + ${pkgs} + " +} diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 89b3e6a3..91f81bd4 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -71,6 +71,11 @@ KERNEL_FILE:mipsel ?= "vmlinux" KERNEL_FILE:riscv64 ?= "vmlinux" KERNEL_FILE:arm64 ?= "vmlinux" +# debrepo config +DEBREPO_DIR = "${TOPDIR}/debrepo" +DEBREPO_HOST_DIR = "${DEBREPO_DIR}/${HOST_DISTRO}-${HOST_ARCH}_${DISTRO}-${DISTRO_ARCH}" +DEBREPO_TARGET_DIR = "${DEBREPO_DIR}/${DISTRO}-${DISTRO_ARCH}" + OVERRIDES = "${PACKAGE_ARCH}:${MACHINE}:${DISTRO}:${BASE_DISTRO_CODENAME}:forcevariable" FILESOVERRIDES = "${PACKAGE_ARCH}:${MACHINE}"