From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6771003123014041600 X-Received: by 2002:a19:c307:: with SMTP id t7mr2758743lff.166.1580226185636; Tue, 28 Jan 2020 07:43:05 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:3a07:: with SMTP id h7ls2710827lja.3.gmail; Tue, 28 Jan 2020 07:43:04 -0800 (PST) X-Google-Smtp-Source: APXvYqzDIjpmedT1gkymLCH+Zj1t7altAQqa4FpwnFcz31RHV9iGtxMOlJ+g2LFFt6ZLm8nxQZjw X-Received: by 2002:a2e:9090:: with SMTP id l16mr14095663ljg.281.1580226184869; Tue, 28 Jan 2020 07:43:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580226184; cv=none; d=google.com; s=arc-20160816; b=J0bo/p8FttJcD+BjmTbZg0maXpB0miTSqYUJHbZvE1gEp70K/OT80far1l3geOL9If d2xx9E9Gpby4CWMA3GPo9rY89pruL6FqslP3SC2sWTMOw/bnIGCJdO7j70e+wOxF0qPa /V5+1EfD5S4QoD5uTdvTqx4BDLkSHgRN+t9C2nY8WZLvCYrnP3u7Q2xrM0VTmnYdkcbX R1p0ct9XeawjQxlTSKm1i3FGKuWnfRU5HkCwTkFNgsJT5br1LS/m8zRhxAjZU6fHoHDu h1KgWxlpfpfQQ/Sky1zmqBE1JBomu3w4XxjGr6jY0NIfqZeFRVBl8Fmyzn0W33vZpt0Y N4mQ== 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 :dkim-signature; bh=OaXEVfGCBILg96jaqkHgRgouWYZETjduJ3XmU5Cd35Q=; b=UB9P15V+bBlvH+Pc8CG+Om+I6fVcCxYCW4tJ/nXYtIBjFSyHbi3TejwuBcdvEkNmOO Emdz0jGTdAGQTvmeH8xZNlw/gwGa0S5JT8eksBtZ5BTlRRstO21kBrNtLUswSlqsu2y+ Eu5mxFJ/2OmluNpqP/O5RJacYbZRdNqD0aFPxjKvsBz0nKQNgul69WvRoyA4eo/B+/nc CAal96XrfyivVWOvbp7ASF3KG7d2z6ZqbXqGnHDWv3c3Wz2RVYE3H9HG4KFvWJk6hL9c jTDc2Cy4Eqe2IAJ4dgmFffzGbV6gUfnL8u1W55PiY5oEPlpHM8PCA94bsrF6qDY6P2kZ aqzw== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=m0NDXmNa; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2a00:1450:4864:20::343 as permitted sender) smtp.mailfrom=vijaikumar.kanagarajan@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com. [2a00:1450:4864:20::343]) by gmr-mx.google.com with ESMTPS id j30si877469lfp.5.2020.01.28.07.43.04 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 28 Jan 2020 07:43:04 -0800 (PST) Received-SPF: pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2a00:1450:4864:20::343 as permitted sender) client-ip=2a00:1450:4864:20::343; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=m0NDXmNa; spf=pass (google.com: domain of vijaikumar.kanagarajan@gmail.com designates 2a00:1450:4864:20::343 as permitted sender) smtp.mailfrom=vijaikumar.kanagarajan@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: by mail-wm1-x343.google.com with SMTP id b2so3092390wma.0 for ; Tue, 28 Jan 2020 07:43:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=OaXEVfGCBILg96jaqkHgRgouWYZETjduJ3XmU5Cd35Q=; b=m0NDXmNaXHN+XukmafogfOYTf+FRobIfU2upfIGTMjWJlF2S+gAabIknzs8wXM/Tg3 J7I326jclCLTI/rmALsL4YB8eJjpdHQq4yzGrBcfCccU/abHY0kQF2CgaUntxAsqv4Ti clYlMa/FwHyyS2blRb+J4gC6pjjHjNvf5kTOba+mXJk0bzMf0WAycFgNWxrGQ2SNHHfI Yq51QdVqevoggXLs/j31RFkm4gxnO3DIia2hJamSNpCQ3KhB9kbdf4JDiw8L2aZTfr/N ei1mBkKQfSBVkNgxi51w5fGqaWADVkvy/Gte5dKhXUNHeGvBjH63DnFmYqXH7tYLRxQ0 zBgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=OaXEVfGCBILg96jaqkHgRgouWYZETjduJ3XmU5Cd35Q=; b=K9QXc5VG/l5a6QbTP0CCkGNQvx1nlbAhC6AvDtBWL8oSMwu/5NepfB6/SFV0NN9l/W ufH5OYYdves9z1TwPWaWd9bKqIx326PZDBIceaubnip9fniShiSLFme9GBFFtx/V5XmW 6tj3YK+VXPcRODhs2nlc+lJ2tE10GgzcDEAcPTLAxK3dt4pAXPr4vVy+H+nBTStF3Qu6 OVgKR1x7e0DRr1n9P3dwOjSQfjlUYObsianmva9dbbtFwFCY3MakDzsDNlPyLWV+Ow/r HD1DXxVMBBN6F5lRHbhuviKQjtOMbK+dcER/263yXa8wjesxCyi+qKD3De4NwnicJYwX kmLg== X-Gm-Message-State: APjAAAXpJtD6ZQLuolvCwYZNv6uImMYBOFiOHYNFUvbY3UQhrMlWR6Cb tDiUGwrhOFMmx2P2h6fsOCAcgSIAfCw= X-Received: by 2002:a7b:c3d1:: with SMTP id t17mr5665886wmj.27.1580226184009; Tue, 28 Jan 2020 07:43:04 -0800 (PST) Return-Path: Received: from oxygen.mgc.mentorg.com (nat-sch.mentorg.com. [139.181.36.34]) by smtp.gmail.com with ESMTPSA id u8sm3601200wmm.15.2020.01.28.07.43.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Jan 2020 07:43:03 -0800 (PST) From: Vijai Kumar K To: isar-users@googlegroups.com Cc: Henning Schild Subject: [PATCH v3 09/26] meta: create DL_DIR support for all apt-get downloaded .debs Date: Tue, 28 Jan 2020 21:11:56 +0530 Message-Id: <20200128154213.22353-10-vijaikumar.kanagarajan@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200128154213.22353-1-vijaikumar.kanagarajan@gmail.com> References: <20200128154312.337e61f6@md1za8fc.ad001.siemens.net> <20200128154213.22353-1-vijaikumar.kanagarajan@gmail.com> X-TUID: /80DuHxRJW60 From: Henning Schild Hook in between the "apt-get --download-only"s and the "apt-get"s and copy out all the debs for later. Signed-off-by: Henning Schild --- meta/classes/deb-dl-dir.bbclass | 15 +++++++++++++++ meta/classes/dpkg-base.bbclass | 1 + meta/classes/dpkg-gbp.bbclass | 1 + meta/classes/dpkg.bbclass | 1 + meta/classes/image-locales-extension.bbclass | 2 +- meta/classes/image-tools-extension.bbclass | 1 + meta/classes/rootfs.bbclass | 12 ++++++++++-- meta/conf/bitbake.conf | 1 + 8 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 meta/classes/deb-dl-dir.bbclass diff --git a/meta/classes/deb-dl-dir.bbclass b/meta/classes/deb-dl-dir.bbclass new file mode 100644 index 0000000..e41e981 --- /dev/null +++ b/meta/classes/deb-dl-dir.bbclass @@ -0,0 +1,15 @@ +# This software is a part of ISAR. +# Copyright (C) 2019 Siemens AG +# +# SPDX-License-Identifier: MIT + +deb_dl_dir_export() { + export pc="${DEBDIR}/${DISTRO}" + export rootfs="${1}" + mkdir -p "${pc}" + flock "${pc}".lock -c ' \ + sudo find "${rootfs}"/var/cache/apt/archives/ -type f -iname '*\.deb' \ + -exec cp -f '{}' "${pc}" \; + sudo chown -R $(id -u):$(id -g) "${pc}" + ' +} diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index aa11660..fd0b07f 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -8,6 +8,7 @@ inherit buildchroot inherit debianize inherit terminal inherit repository +inherit deb-dl-dir DEPENDS ?= "" diff --git a/meta/classes/dpkg-gbp.bbclass b/meta/classes/dpkg-gbp.bbclass index 2afe9db..7e908eb 100644 --- a/meta/classes/dpkg-gbp.bbclass +++ b/meta/classes/dpkg-gbp.bbclass @@ -15,6 +15,7 @@ do_install_builddeps_append() { sudo -E chroot ${BUILDCHROOT_DIR} \ apt-get install -y -o Debug::pkgProblemResolver=yes \ --no-install-recommends --download-only ${GBP_DEPENDS} + deb_dl_dir_export "${BUILDCHROOT_DIR}" sudo -E chroot ${BUILDCHROOT_DIR} \ apt-get install -y -o Debug::pkgProblemResolver=yes \ --no-install-recommends ${GBP_DEPENDS} diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass index b26c645..7e2c86d 100644 --- a/meta/classes/dpkg.bbclass +++ b/meta/classes/dpkg.bbclass @@ -9,6 +9,7 @@ do_install_builddeps() { E="${@ isar_export_proxies(d)}" sudo -E chroot ${BUILDCHROOT_DIR} /isar/deps.sh \ ${PP}/${PPS} ${DISTRO_ARCH} --download-only + deb_dl_dir_export "${BUILDCHROOT_DIR}" sudo -E chroot ${BUILDCHROOT_DIR} /isar/deps.sh \ ${PP}/${PPS} ${DISTRO_ARCH} dpkg_undo_mounts diff --git a/meta/classes/image-locales-extension.bbclass b/meta/classes/image-locales-extension.bbclass index 3c0758f..0f0d0ca 100644 --- a/meta/classes/image-locales-extension.bbclass +++ b/meta/classes/image-locales-extension.bbclass @@ -25,7 +25,7 @@ def get_nopurge(d): j.split()[0].split(".")[0], j.split()[0])))) -ROOTFS_INSTALL_COMMAND_BEFORE_CLEAN += "image_install_localepurge_download" +ROOTFS_INSTALL_COMMAND_BEFORE_EXPORT += "image_install_localepurge_download" image_install_localepurge_download[weight] = "40" image_install_localepurge_download() { sudo -E chroot '${ROOTFSDIR}' \ diff --git a/meta/classes/image-tools-extension.bbclass b/meta/classes/image-tools-extension.bbclass index b8531cb..ec67d94 100644 --- a/meta/classes/image-tools-extension.bbclass +++ b/meta/classes/image-tools-extension.bbclass @@ -34,6 +34,7 @@ do_install_imager_deps() { --allow-unauthenticated --allow-downgrades --download-only install \ ${IMAGER_INSTALL}' + deb_dl_dir_export ${BUILDCHROOT_DIR} sudo -E chroot ${BUILDCHROOT_DIR} sh -c ' \ apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y \ --allow-unauthenticated --allow-downgrades install \ diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index b4dbfa3..a6b6110 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -1,6 +1,8 @@ # This software is a part of ISAR. # Copyright (c) Siemens AG, 2019 +inherit deb-dl-dir + ROOTFS_ARCH ?= "${DISTRO_ARCH}" ROOTFS_DISTRO ?= "${DISTRO}" ROOTFS_PACKAGES ?= "" @@ -119,8 +121,14 @@ rootfs_install_pkgs_download() { /usr/bin/apt-get ${ROOTFS_APT_ARGS} --download-only ${ROOTFS_PACKAGES} } -ROOTFS_INSTALL_COMMAND_BEFORE_CLEAN ??= "" -ROOTFS_INSTALL_COMMAND += "${ROOTFS_INSTALL_COMMAND_BEFORE_CLEAN}" +ROOTFS_INSTALL_COMMAND_BEFORE_EXPORT ??= "" +ROOTFS_INSTALL_COMMAND += "${ROOTFS_INSTALL_COMMAND_BEFORE_EXPORT}" + +ROOTFS_INSTALL_COMMAND += "rootfs_export_package_cache" +rootfs_export_package_cache[weight] = "5" +rootfs_export_package_cache() { + deb_dl_dir_export ${ROOTFSDIR} +} ROOTFS_INSTALL_COMMAND += "${@ 'rootfs_install_clean_files' if (d.getVar('ROOTFS_CLEAN_FILES') or '').strip() else ''}" rootfs_install_clean_files[weight] = "2" diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index ab608da..d86c5b9 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -26,6 +26,7 @@ DEPLOY_DIR = "${TMPDIR}/deploy" FILE_DIRNAME = "${@os.path.dirname(d.getVar('FILE', False))}" FILESEXTRAPATHS ?= "__default:" GITDIR = "${DL_DIR}/git" +DEBDIR = "${DL_DIR}/deb" DEBSRCDIR = "${DL_DIR}/deb-src" P = "${PN}-${PV}" PF = "${PN}-${PV}-${PR}" -- 2.17.1