From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7032253102499561472 X-Received: by 2002:adf:df89:: with SMTP id z9mr6680863wrl.336.1637324023373; Fri, 19 Nov 2021 04:13:43 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:7e16:: with SMTP id z22ls7003448wmc.2.canary-gmail; Fri, 19 Nov 2021 04:13:42 -0800 (PST) X-Google-Smtp-Source: ABdhPJzLQOEZv8KV66dQAbq9OdnfcA7aCCs5+PwyRQKchpQsvg1JCwHTc79U1WQ44FdNxq53rrbu X-Received: by 2002:a05:600c:4793:: with SMTP id k19mr6551976wmo.72.1637324022302; Fri, 19 Nov 2021 04:13:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1637324022; cv=none; d=google.com; s=arc-20160816; b=iy96CNgbeiWsy4LvIpbUgR3dOiZTLH/kpbEepgKekXB+gDtrszI8TJ9xpmOfKXgsbu Soqf+YYy9zNmxBOwbKhv+MnkAPJLaKy+4TBsifVK9aSqcWVL/KxcvRDZBvAyoUJPDeg9 seu9NZfFpmw7WlCcFLDm8bDkND6fxu4fRkLF/AX7DFIT+GNYG31FQvRCuihoPFRrQFhI tLlk4Ie8EFcjYXDx1g+FXUdZj6OJhApbDwaLQhYoGWSf14H3WPb2NU3zPFDnL0c7u/85 j8PNVdn0JH+NMBYAXZi6XfAwuroGJb/7OTTkngYduRI0qsu5mHsmvQjxXyXNwjDp2i1h Sw+A== 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=OmMTMBfY8VVLuezP7BLwKuoCKWW2EO/ahiOKvoRLDMM=; b=YHo7dVtpcAzQCzN4CSwtGxM/BwIU+R+rKuT325vTCQQWxLjrhvRAUFkRJX/dbA5wKG u55hsDWGd5FwdOyzNEmKYOkAq+74UBvLzq/G38MyqBXKdmJpq/j7OLLEK470lNmZwfKp UQq+wgU1PqiBAJjuHByF7XTSw2JDd3YA2rX+UDxc5h4OEnRk78sMq7PSsx8yl3RbSTSm Gw9rSM6xtE9OKyCmxL9PzUUICzTJYJuJJjIyyIxhV/6Pdr1j61meLLL9h06ITvhgxm1m YHwkDxQnzutgHhxlR4xtd/PUgIbJ8A+H/qO5DOIrCyTy29traid7sHpsOedlzHZMSvnY AclQ== 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 o19si285888wme.2.2021.11.19.04.13.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 19 Nov 2021 04:13:42 -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 1AJCDX7Y021829 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 19 Nov 2021 13:13:41 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH v2 24/24] sbuild: Replace isar-apt mounting with copying Date: Fri, 19 Nov 2021 13:13:33 +0100 Message-Id: <20211119121333.13805-25-ubely@ilbers.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20211119121333.13805-1-ubely@ilbers.de> References: <20211119121333.13805-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: +elfVHwVN/gf sbuild internally doesn apt-get update and apt-get install . If isar-apt repo is changed at that time by deploy_deb task for another package going in parallel, apt won't be able to download dependency from this repo. We may copletely lock isar-apt completely for dpkg_build, but this slows (serializes) the whole build. Instead, it's better to copy current isar-apt into the package workidir under the lock and use copied isar-apt repo for building. While "-l' option for `cp` is used, it won't occupy much additional space on disk. Signed-off-by: Uladzimir Bely --- meta/classes/dpkg.bbclass | 13 ++++++++++++- meta/classes/sbuild.bbclass | 2 -- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass index 355da541..a9a2b3e2 100644 --- a/meta/classes/dpkg.bbclass +++ b/meta/classes/dpkg.bbclass @@ -5,7 +5,18 @@ inherit dpkg-base PACKAGE_ARCH ?= "${DISTRO_ARCH}" -ISAR_APT_REPO ?= "deb [trusted=yes] file:///isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO} ${DEBDISTRONAME} main" +ISAR_APT_REPO ?= "deb [trusted=yes] file:///home/builder/${PN}/isar-apt/${DISTRO}-${DISTRO_ARCH}/apt/${DISTRO} ${DEBDISTRONAME} main" + +# Install build dependencies for package +do_install_isarapt() { + # Make local copy of isar-apt not affected by other parallel tasks + mkdir -p ${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH} + rm -rf ${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH}/* + cp -Rl ${REPO_ISAR_DIR} ${WORKDIR}/isar-apt/${DISTRO}-${DISTRO_ARCH} +} + +addtask install_isarapt after do_prepare_build before do_dpkg_build +do_install_isarapt[lockfiles] += "${REPO_ISAR_DIR}/isar.lock" # Build package from sources using build script dpkg_runbuild() { diff --git a/meta/classes/sbuild.bbclass b/meta/classes/sbuild.bbclass index 799f210e..73a5fd6a 100644 --- a/meta/classes/sbuild.bbclass +++ b/meta/classes/sbuild.bbclass @@ -70,8 +70,6 @@ EOF cp -rf "${SCHROOT_CONF}/sbuild" "${SBUILD_CONF_DIR}" sbuild_fstab="${SBUILD_CONF_DIR}/fstab" - fstab_isarapt="${DEPLOY_DIR}/isar-apt /isar-apt none rw,bind 0 0" - grep -qxF "${fstab_isarapt}" ${sbuild_fstab} || echo "${fstab_isarapt}" >> ${sbuild_fstab} fstab_baseapt="${REPO_BASE_DIR} /base-apt none rw,bind 0 0" grep -qxF "${fstab_baseapt}" ${sbuild_fstab} || echo "${fstab_baseapt}" >> ${sbuild_fstab} -- 2.20.1