From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7078983779658760192 X-Received: by 2002:a19:6456:0:b0:437:974a:f5ce with SMTP id b22-20020a196456000000b00437974af5cemr7480658lfj.394.1648204351507; Fri, 25 Mar 2022 03:32:31 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:9943:0:b0:249:8590:75aa with SMTP id r3-20020a2e9943000000b00249859075aals1002339ljj.11.gmail; Fri, 25 Mar 2022 03:32:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxrBVm63o+lot/lNtTPWJk84jaIaasEyShosQsnTepwuPTNQS8IUJKTYAf+Z5eeYRuP1ILo X-Received: by 2002:a2e:9010:0:b0:244:c66c:c3e6 with SMTP id h16-20020a2e9010000000b00244c66cc3e6mr7499671ljg.391.1648204350420; Fri, 25 Mar 2022 03:32:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648204350; cv=none; d=google.com; s=arc-20160816; b=d3OnajZC2QKHY1uuJCJStCnF2TuECV8sOTOaPYCGkbsdzaKMOs4gA/TxqxzRPVVKfY z347AuSvZ/7O0dVyYowTPw67Ewcp9WiXX68xSA5TMclpfCSa6OHQNMx2nls8bm6S4UXM foSnEesY24wZ/wE4Q3lGylPZajjapfT3rHYJaHC0/vc3c/W5N8A/EEH05IeoaO3u4Kmh wU6bHwiD5AXK3XObfLKdr4i5+u7ua1T5+hTjsW7jQX8+ngvPM0/rKgeyNxTQ02Wv83df fxlMA0XaNW+fALgXJDqkPhrOrQD1NHSa54efNl4ulLxgwbeFC0b9AqFSxNpHuDbHIAX3 m7Pg== 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=XQl4xsTqA2NLMqBwrEwKbY6ia9ZvA1CbQGXbw4KaOmM=; b=SnVdsQ2X6YnmHZcsA23/UdZ4GoQMzyqxs/dXKUDd7nwwAampGIqlnreBjgGuy3Ac9X +pjfin3V6AKXnYeKFb4I7HNlMc1j8cALC1nUL5+voHAh57cXOgOCfLoAAVjCB74yuBDR Z98zVFRsc8u9bgQeaZXy87G+0o6vY6l0ENowS0+ZfutWMFuwTQvIi1f1fZAiRvy+Qxbt E49PCcuGadW05huazmk/P+RSICnHlOI0zjbG//H+NiF4DTfYMJwhnxCN4xMp4cmlR3ii XYXE3DUXG54VwsmhqLAWsfMzNktsk09QVHpim6HUgJdh7hhMuJ7LrT+PPjRnys2v+Zqi 19rA== 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 bn35-20020a05651c17a300b002462e02f542si318946ljb.2.2022.03.25.03.32.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 25 Mar 2022 03:32:30 -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; 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 22PAWQZa030611 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 25 Mar 2022 11:32:29 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH v3 4/5] base-apt: Predownload packages to base-apt before install. Date: Fri, 25 Mar 2022 11:32:25 +0100 Message-Id: <20220325103226.27033-5-ubely@ilbers.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20220325103226.27033-1-ubely@ilbers.de> References: <20220325103226.27033-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: +TqqRrKf0SIO This patch uses debrepo script to predownload packages to base-apt repository before they are installed in buildchroot/rootfs. Signed-off-by: Uladzimir Bely --- meta/classes/dpkg-base.bbclass | 8 ++++++++ meta/classes/dpkg-gbp.bbclass | 7 +++++++ meta/classes/dpkg.bbclass | 7 +++++++ meta/classes/image-locales-extension.bbclass | 7 +++++++ meta/classes/image-tools-extension.bbclass | 7 +++++++ meta/classes/rootfs.bbclass | 20 ++++++++++++++++++++ 6 files changed, 56 insertions(+) diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 86933c57..6106ca01 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -102,8 +102,16 @@ python() { } do_apt_fetch() { + ${SCRIPTSDIR}/debrepo \ + --srcmode \ + --workdir="${TMPDIR}/debrepo/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}" \ + ${SRC_APT} dpkg_do_mounts E="${@ isar_export_proxies(d)}" + sudo -E chroot ${BUILDCHROOT_DIR} /usr/bin/apt-get update \ + -o Dir::Etc::SourceList="sources.list.d/base-apt.list" \ + -o Dir::Etc::SourceParts="-" \ + -o APT::Get::List-Cleanup="0" sudo -E chroot ${BUILDCHROOT_DIR} /usr/bin/apt-get update \ -o Dir::Etc::SourceList="sources.list.d/isar-apt.list" \ -o Dir::Etc::SourceParts="-" \ diff --git a/meta/classes/dpkg-gbp.bbclass b/meta/classes/dpkg-gbp.bbclass index d956e8c3..4d583a79 100644 --- a/meta/classes/dpkg-gbp.bbclass +++ b/meta/classes/dpkg-gbp.bbclass @@ -13,7 +13,14 @@ GBP_DEPENDS ?= "git-buildpackage pristine-tar" GBP_EXTRA_OPTIONS ?= "--git-pristine-tar" do_install_builddeps_append() { + ${SCRIPTSDIR}/debrepo \ + --workdir="${TMPDIR}/debrepo/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}" \ + ${GBP_DEPENDS} dpkg_do_mounts + sudo -E chroot '${BUILDCHROOT_DIR}' /usr/bin/apt-get update \ + -o Dir::Etc::SourceList="sources.list.d/base-apt.list" \ + -o Dir::Etc::SourceParts="-" \ + -o APT::Get::List-Cleanup="0" distro="${DISTRO}" if [ ${ISAR_CROSS_COMPILE} -eq 1 ]; then distro="${HOST_DISTRO}" diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass index 320102ba..d167a01d 100644 --- a/meta/classes/dpkg.bbclass +++ b/meta/classes/dpkg.bbclass @@ -7,7 +7,14 @@ PACKAGE_ARCH ?= "${DISTRO_ARCH}" # Install build dependencies for package do_install_builddeps() { + ${SCRIPTSDIR}/debrepo \ + --workdir="${TMPDIR}/debrepo/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}" \ + --controlfile="${WORKDIR}/${PPS}/debian/control" dpkg_do_mounts + sudo -E chroot '${BUILDCHROOT_DIR}' /usr/bin/apt-get update \ + -o Dir::Etc::SourceList="sources.list.d/base-apt.list" \ + -o Dir::Etc::SourceParts="-" \ + -o APT::Get::List-Cleanup="0" E="${@ isar_export_proxies(d)}" export DEB_BUILD_OPTIONS="${@ isar_deb_build_options(d)}" export DEB_BUILD_PROFILES="${@ isar_deb_build_profiles(d)}" diff --git a/meta/classes/image-locales-extension.bbclass b/meta/classes/image-locales-extension.bbclass index 25af5407..a05f0917 100644 --- a/meta/classes/image-locales-extension.bbclass +++ b/meta/classes/image-locales-extension.bbclass @@ -28,6 +28,13 @@ def get_nopurge(d): ROOTFS_INSTALL_COMMAND_BEFORE_EXPORT += "image_install_localepurge_download" image_install_localepurge_download[weight] = "40" image_install_localepurge_download() { + ${SCRIPTSDIR}/debrepo \ + --workdir="${TMPDIR}/debrepo/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}" \ + localepurge + sudo -E chroot '${ROOTFSDIR}' /usr/bin/apt-get update \ + -o Dir::Etc::SourceList="sources.list.d/base-apt.list" \ + -o Dir::Etc::SourceParts="-" \ + -o APT::Get::List-Cleanup="0" sudo -E chroot '${ROOTFSDIR}' \ /usr/bin/apt-get ${ROOTFS_APT_ARGS} --download-only localepurge } diff --git a/meta/classes/image-tools-extension.bbclass b/meta/classes/image-tools-extension.bbclass index b9968139..359991e3 100644 --- a/meta/classes/image-tools-extension.bbclass +++ b/meta/classes/image-tools-extension.bbclass @@ -22,10 +22,17 @@ do_install_imager_deps() { exit fi + ${SCRIPTSDIR}/debrepo \ + --workdir="${TMPDIR}/debrepo/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}" \ + ${IMAGER_INSTALL} buildchroot_do_mounts E="${@ isar_export_proxies(d)}" deb_dl_dir_import ${BUILDCHROOT_DIR} ${DISTRO} + sudo -E chroot ${BUILDCHROOT_DIR} /usr/bin/apt-get update \ + -o Dir::Etc::SourceList="sources.list.d/base-apt.list" \ + -o Dir::Etc::SourceParts="-" \ + -o APT::Get::List-Cleanup="0" sudo -E chroot ${BUILDCHROOT_DIR} sh -c ' \ apt-get update \ -o Dir::Etc::SourceList="sources.list.d/isar-apt.list" \ diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index 54d1f714..4019b216 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -94,6 +94,23 @@ EOF EOSUDO } +ROOTFS_INSTALL_COMMAND += "rootfs_base_apt_populate" +rootfs_base_apt_populate[weight] = "600" +rootfs_base_apt_populate() { + ${SCRIPTSDIR}/debrepo \ + --workdir="${TMPDIR}/debrepo/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}" \ + ${ROOTFS_PACKAGES} +} + +ROOTFS_INSTALL_COMMAND += "rootfs_base_apt_pkgs_update" +rootfs_base_apt_pkgs_update[weight] = "5" +rootfs_base_apt_pkgs_update() { + sudo -E chroot '${ROOTFSDIR}' /usr/bin/apt-get update \ + -o Dir::Etc::SourceList="sources.list.d/base-apt.list" \ + -o Dir::Etc::SourceParts="-" \ + -o APT::Get::List-Cleanup="0" +} + ROOTFS_CONFIGURE_COMMAND += "rootfs_configure_apt" rootfs_configure_apt[weight] = "2" rootfs_configure_apt() { @@ -139,6 +156,9 @@ ROOTFS_INSTALL_COMMAND += "rootfs_install_pkgs_download" rootfs_install_pkgs_download[weight] = "600" rootfs_install_pkgs_download[isar-apt-lock] = "release-after" rootfs_install_pkgs_download() { + ${SCRIPTSDIR}/debrepo \ + --workdir="${TMPDIR}/debrepo/${BASE_DISTRO}-${BASE_DISTRO_CODENAME}" \ + ${ROOTFS_PACKAGES} sudo -E chroot '${ROOTFSDIR}' \ /usr/bin/apt-get ${ROOTFS_APT_ARGS} --download-only ${ROOTFS_PACKAGES} } -- 2.20.1