From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7057122428766388224 X-Received: by 2002:a05:6000:3cf:: with SMTP id b15mr22978997wrg.82.1643734875764; Tue, 01 Feb 2022 09:01:15 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a5d:694d:: with SMTP id r13ls224845wrw.3.gmail; Tue, 01 Feb 2022 09:01:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJwuJBnNhV7u2MfLrax1NmS64hFbGVtXVhBGS+F73FqZFoXL7KnJikXebjKr6KUbYGedX1X1 X-Received: by 2002:a05:6000:3cf:: with SMTP id b15mr22978946wrg.82.1643734874973; Tue, 01 Feb 2022 09:01:14 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643734874; cv=none; d=google.com; s=arc-20160816; b=IgHgxVSIJQ72HJ3pOcc9XaR31d7GxN0xZBpKwCEMkMz7xOcW8tr4mocaN4toWAnXt6 lwTZV/lbZi7r/OOZKYtYYWh4Aza4UtDv7gw0Jrt311WIoGW9cOsuXTEQ0G5tBdaf8fPw VBMCBwTqu2Mhfx58hPiJ/aGzJg+9bEU7rNovuX1zdlf4ZgKTBaaaqDV3Crv53hXE/duR hV6hIBDtyfK4Y0VMhznaDbC87y8NxCITOONstqY2k7prZ9ree4t7pBuBeF/cXgQisOb0 4aJsD+vWMdh67NmGwUvlpqHgf9f/7+IvAVUfthhjNfSlq4Afe6GlnX35hS3YXNmRYOQ1 PkhA== 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=4VPrCRG5fRkHLTYQIqWd47//l64mXQY1lvtpK7spnpI=; b=sjSjqwf/LsLTph/ptg2SaolT2sPNJvYgki+LG/dzk9OlzVIASyLcHAl7s4ZFdF1w0G 4EbIwiAHV7DiE7L3oi1QsDMEt8mOv3TZEzoVGg9ESElOi5hkHi+dC6y3lHx2YMM0vCUW RtwhXUAg6uwZ9rg7m9JEgawFzga4syHKK02grbcHjDYYci6muE2aC4qj7UjJHsFuCQkd I8Zybg+ru6wJCVSOjOfHmgL3fRpwuCSpRFPzVR9fJTg+5X+Z2nPq9dCTSAZOU9kxhhiO M80yrlL9CTcdq3LvpSpSuqONzWUWnYC1L/OspwBaLSgKm5ojNY8tYZ/CUisuxtJaa4cV Pt8A== 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 Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id l24si225416wmg.1.2022.02.01.09.01.14 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 01 Feb 2022 09:01:14 -0800 (PST) Received-SPF: pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; 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 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) with ESMTPSA id 211H0cAD019722 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 1 Feb 2022 18:01:10 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH v5 09/12] sbuild: add ccache support Date: Tue, 1 Feb 2022 18:00:35 +0100 Message-Id: <20220201170038.5723-10-ubely@ilbers.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20220201170038.5723-1-ubely@ilbers.de> References: <20220201170038.5723-1-ubely@ilbers.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED 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-TUID: oIVv7qB++tAI This adds ccache support for custom packages in the same manner as it was done previously for buildchroot-based build, by using USE_CCACHE variable in local.conf or per-recipe. Signed-off-by: Uladzimir Bely --- meta/classes/dpkg.bbclass | 4 ++++ meta/classes/sbuild.bbclass | 21 +++++++++++++++++++ .../sbuild-chroot/sbuild-chroot.inc | 1 + 3 files changed, 26 insertions(+) diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass index 8f311deb..ed0e6e35 100644 --- a/meta/classes/dpkg.bbclass +++ b/meta/classes/dpkg.bbclass @@ -44,6 +44,10 @@ dpkg_runbuild() { echo '$apt_keep_downloaded_packages = 1;' >> ${SCHROOT_USER_HOME}/.sbuildrc ) 9>"${TMPDIR}/sbuildrc.lock" + if [ ${USE_CCACHE} -eq 1 ]; then + schroot_configure_ccache + fi + profiles=$(grep "DEB_BUILD_PROFILES" ${SBUILD_CONFIG} | tail -n1 | cut -d "'" -f 4) if [ ${ISAR_CROSS_COMPILE} -eq 1 ]; then profiles="${profiles} cross nocheck" diff --git a/meta/classes/sbuild.bbclass b/meta/classes/sbuild.bbclass index 6fff664f..9896b772 100644 --- a/meta/classes/sbuild.bbclass +++ b/meta/classes/sbuild.bbclass @@ -158,3 +158,24 @@ schroot_run() { remove_mounts schroot_delete_configs } + +schroot_configure_ccache() { + sudo -s <<'EOSUDO' + set -e + + sbuild_fstab="${SBUILD_CONF_DIR}/fstab" + + install --group=sbuild --mode=2775 -d ${CCACHE_DIR} + fstab_ccachedir="${CCACHE_DIR} /ccache none rw,bind 0 0" + grep -qxF "${fstab_ccachedir}" ${sbuild_fstab} || echo "${fstab_ccachedir}" >> ${sbuild_fstab} + + cat << END > ${CCACHE_DIR}/sbuild-setup +#!/bin/sh +export PATH="\$PATH_PREPEND:\$PATH" +exec "\$@" +END + chmod a+rx ${CCACHE_DIR}/sbuild-setup + + echo "command-prefix=/ccache/sbuild-setup" >> "${SCHROOT_CONF_FILE}" +EOSUDO +} diff --git a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc index 177a8a6d..74811e22 100644 --- a/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc +++ b/meta/recipes-devtools/sbuild-chroot/sbuild-chroot.inc @@ -14,6 +14,7 @@ SBUILD_CHROOT_PREINSTALL_COMMON = " \ fakeroot \ build-essential \ debhelper \ + ccache \ " SBUILD_CHROOT_PREINSTALL ?= " \ -- 2.20.1