From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6558372643829972992 X-Received: by 2002:a2e:4612:: with SMTP id t18-v6mr72594lja.12.1527057164402; Tue, 22 May 2018 23:32:44 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a19:9fd3:: with SMTP id i202-v6ls753269lfe.9.gmail; Tue, 22 May 2018 23:32:43 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoBTOTbLr/c4WQpEQjzGqqQim/HcUS1pIOqfLmKb8l+dVJ0xx0nIxngBnybFB2ty7577lSw X-Received: by 2002:a19:4bd2:: with SMTP id y201-v6mr74376lfa.6.1527057163933; Tue, 22 May 2018 23:32:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527057163; cv=none; d=google.com; s=arc-20160816; b=SPOtocHMPwZBxvKN6eAiq3VCsgay6xSYFhdy1M0/nVbA/dpcvh2N1b5oNbD4ffS72k iTW8u1LttMFpYyWTtjOyj6T8PCEsSMIa/4kFr2auIuZBj4pTvluTLfZ531lVhuyfJQNc VjfHrLXifVHnNEaZW7GV/72xaENwScdC/NPZadP+KMwtasyzdIun2/xiRG002oaxRcxp FqtbsRnwFFAr1BdRaIK1OP/mLuQlBERfo77erNceEnDwvzbxzHL+WnYhscnRw+WV770z jt2WlRtGbh2P4V/XmUosbpP+rTL0nf6aUj95zgP8+XhhR5SkU1YLTcuIuKVREUBjhe08 Oecg== 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=Pm+qxxdfOizfwaVedOKxWQzfOZwM5WMBHn/yZ5AhzTw=; b=w2LWUV1X1QAkLyJC6JwQpZn7SlPg1GofSFeUZe89uD7pGbhPvPu1AJOMNQXe/mPEYE eZ7ZLwbyIGgB8dQbrajxKvk0AIFV0IAieFuAY7/f21kh4FjUHrsttedL1U1mJv42bpyr 1wnuVfrHXEopGPL+yBF7ZXFJlzudhJlqK/9PV41/3FLR0qh9OpvWgdSOOaqoPOt5MGBy YO6xfpR7WIe73yb8jBVzNRDm87Qv7UZAZ+C85t70gQ+zy8XDqN68BZmIhrSLKcSA/U4g Cfad8Os7hpi2Z+ka7uYKa6gEHLnD7SnmXYaAn2aDi2M1s8xOn6P6vmLpEPg5QTWmzGiC T4Kw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of claudius.heine.ext@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=claudius.heine.ext@siemens.com Return-Path: Received: from thoth.sbs.de (thoth.sbs.de. [192.35.17.2]) by gmr-mx.google.com with ESMTPS id y205-v6si584153lfa.0.2018.05.22.23.32.43 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 22 May 2018 23:32:43 -0700 (PDT) Received-SPF: pass (google.com: domain of claudius.heine.ext@siemens.com designates 192.35.17.2 as permitted sender) client-ip=192.35.17.2; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of claudius.heine.ext@siemens.com designates 192.35.17.2 as permitted sender) smtp.mailfrom=claudius.heine.ext@siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by thoth.sbs.de (8.15.2/8.15.2) with ESMTPS id w4N6Wg82011332 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 23 May 2018 08:32:42 +0200 Received: from ring.ppmd.siemens.net (linux-ses-ext02.ppmd.siemens.net [139.25.69.69]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id w4N6Wfgu031123; Wed, 23 May 2018 08:32:42 +0200 From: claudius.heine.ext@siemens.com To: isar-users@googlegroups.com Cc: Claudius Heine Subject: [RFC PATCH 1/3] meta/isar-bootstrap-helper+dpkg.bbclass: bind mount /var/cache/apt/archives Date: Wed, 23 May 2018 08:32:04 +0200 Message-Id: <20180523063206.29180-2-claudius.heine.ext@siemens.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180523063206.29180-1-claudius.heine.ext@siemens.com> References: <20180523063206.29180-1-claudius.heine.ext@siemens.com> X-TUID: wLonilrh9OOB From: Claudius Heine Bind mount the /var/cache/apt/archives directory to the original isar-bootstrap root file system, so that the cache is shared between all images based on it. Central package cache is the first step of reproducible builds. This should allow faster execution of subsequent builds. Signed-off-by: Claudius Heine --- meta/classes/dpkg.bbclass | 5 +++++ meta/classes/isar-bootstrap-helper.bbclass | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass index c8d4ac5..5422b9a 100644 --- a/meta/classes/dpkg.bbclass +++ b/meta/classes/dpkg.bbclass @@ -5,6 +5,11 @@ inherit dpkg-base # Build package from sources using build script dpkg_runbuild() { + DEBOOTSTRAP_DIR="${DEPLOY_DIR_IMAGE}/isar-bootstrap-${DISTRO}-${DISTRO_ARCH}/" E="${@ bb.utils.export_proxies(d)}" + mountpoint -q "${BUILDCHROOT_DIR}/var/cache/apt/archives" || \ + sudo mount --bind \ + "$DEBOOTSTRAP_DIR/var/cache/apt/archives" \ + "${BUILDCHROOT_DIR}/var/cache/apt/archives" sudo -E chroot ${BUILDCHROOT_DIR} /build.sh ${PP}/${PPS} } diff --git a/meta/classes/isar-bootstrap-helper.bbclass b/meta/classes/isar-bootstrap-helper.bbclass index 76e20f6..fa68a9f 100644 --- a/meta/classes/isar-bootstrap-helper.bbclass +++ b/meta/classes/isar-bootstrap-helper.bbclass @@ -17,8 +17,10 @@ setup_root_file_system() { -o Debug::pkgProblemResolver=yes" CLEAN_FILES="${ROOTFSDIR}/etc/hostname ${ROOTFSDIR}/etc/resolv.conf" + DEBOOTSTRAP_DIR="${DEPLOY_DIR_IMAGE}/isar-bootstrap-${DISTRO}-${DISTRO_ARCH}/" + sudo cp -Trpfx \ - "${DEPLOY_DIR_IMAGE}/isar-bootstrap-${DISTRO}-${DISTRO_ARCH}/" \ + "$DEBOOTSTRAP_DIR" \ "$ROOTFSDIR" echo "deb file:///isar-apt ${DEBDISTRONAME} main" | \ @@ -27,6 +29,10 @@ setup_root_file_system() { echo "Package: *\nPin: release n=${DEBDISTRONAME}\nPin-Priority: 1000" | \ sudo tee "$ROOTFSDIR/etc/apt/preferences.d/isar" >/dev/null + sudo mount --bind \ + "$DEBOOTSTRAP_DIR/var/cache/apt/archives" \ + "$ROOTFSDIR/var/cache/apt/archives" + sudo mount --bind ${DEPLOY_DIR_APT}/${DISTRO} $ROOTFSDIR/isar-apt sudo mount -t devtmpfs -o mode=0755,nosuid devtmpfs $ROOTFSDIR/dev sudo mount -t proc none $ROOTFSDIR/proc @@ -55,6 +61,7 @@ setup_root_file_system() { /usr/bin/apt-get purge -y ${IMAGE_CFG_PACKAGE} fi if [ "clean" = ${CLEAN} ]; then + sudo umount -l "$ROOTFSDIR/var/cache/apt/archives" sudo -E chroot "$ROOTFSDIR" \ /usr/bin/apt-get autoremove --purge -y sudo -E chroot "$ROOTFSDIR" \ -- 2.17.0