From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7052302943185272832 X-Received: by 2002:a2e:9083:: with SMTP id l3mr6128689ljg.233.1641992233488; Wed, 12 Jan 2022 04:57:13 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6512:158e:: with SMTP id bp14ls3057551lfb.2.gmail; Wed, 12 Jan 2022 04:57:12 -0800 (PST) X-Google-Smtp-Source: ABdhPJy++IqFOk0ElRv041FmlsdHQeEROmhKigmakz4yDCTqhdo4ayKVZ9M01S958h/0ffqladR5 X-Received: by 2002:ac2:5e76:: with SMTP id a22mr7073467lfr.594.1641992232537; Wed, 12 Jan 2022 04:57:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1641992232; cv=none; d=google.com; s=arc-20160816; b=Rs2pa8K/KyXyzHRYYqSpS5YJo0AS3VbT6kuzXTHYrE13Ps401Q92EZk4vubYrHada5 kw4mCPvEP1rtFUxZlmvSiBIXKSmLblQse/0MDEaFhC1Ykt6pPLRsu1YQ+jZAjV1RD7QQ LjXEyJuB6Sw79QO4F9VJnXj+HsKcbvU6dVSAyeqLcgeJapWgRsJpzb9/GizQNzPZHPbx 1ad2HQsZomI6MGRxt+1sLF8eh84O1nrP4W3mvVKdnwFPPkwR837hoStUITpaTuLbQv0+ lA/TyZsITnwOiwofuIOECHNasihwlNIvj8ooGfRKhN6FvGRn+2wYMWqKYaTmhcPoBTeF WC0g== 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=5Qy6+uKQiDAHUpFyzfuQh476xIf1ejaBwcwFdwJrFoA=; b=a9VNFNdqYFcFjSOjy2YlYqP9phGYcApFuMId1R00EUNls+f/4zTtPeDXtgGDFL6Px7 oAsG6vjC4IgDvVDIpBJhxgmTqVELKpqrvcdCZTJ6GnMag8A+LjQ/GSpoz+KVLLOUz0NC 5o3qO0sG3ir2JczLN43QlXnaGWUhKqKcveaFTXcbMb5Nt062m+Pmcg8OIzlbw23fymgx 4VurVCDenNI+aaKz5daoZ+YKNzjgNAUIpd3A4jkaT3tGQkZ9GXGM8QOZFxwAaSsRmg4y qtEf6CRncKJbkEntDCN+HZpijtHnEiYwZHxJYXlvjLpagl3lyOMSInT/8E0DMzTWGtmx 4Edw== 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 bx12si180879ljb.2.2022.01.12.04.57.12 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 12 Jan 2022 04:57:12 -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 20CCvA2I027951 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 12 Jan 2022 13:57:11 +0100 From: Uladzimir Bely To: isar-users@googlegroups.com Subject: [PATCH v2 1/1] meta: Fix conflicting name of image manifest and dpkg_status Date: Wed, 12 Jan 2022 13:57:10 +0100 Message-Id: <20220112125710.2426-2-ubely@ilbers.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20220112125710.2426-1-ubely@ilbers.de> References: <20220112125710.2426-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: B/7sJi778T6X Features `generate-manifest` and `export-dpkg-status` should consider multiconfigs for different distro/machine versions of the same architecture running in parallel. Before, only the most recent manifest and dpkg_status files were stored in deploy directory because they overwrote existing files. Signed-off-by: Uladzimir Bely --- RECIPE-API-CHANGELOG.md | 8 ++++++++ meta/classes/image.bbclass | 1 + meta/classes/rootfs.bbclass | 6 ++++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 3bbb42a9..b8f1d2ba 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -314,3 +314,11 @@ The "NAME" used to be rather static and the TAG was always "latest", now the val ### Renamed variable CONTAINER_FORMATS to CONTAINER_IMAGE_FORMATS The meaning remains the same, just the name changed. + +### Changed location of deployed *.dpkg_status and *.manifest files + +Now, parallel multiconfigs for different machines with same architectures don't +share the same location for image *.manifest and *.dpkg_status files, so they +are not owerwritten by last build ones anymore. + +Output file names now include distro name and architecture/machine name parts. diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index a10f0d7b..c1d854ae 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -74,6 +74,7 @@ ROOTFS_FEATURES += "clean-package-cache generate-manifest export-dpkg-status cle ROOTFS_PACKAGES += "${IMAGE_PREINSTALL} ${IMAGE_INSTALL}" ROOTFS_MANIFEST_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}" ROOTFS_DPKGSTATUS_DEPLOY_DIR ?= "${DEPLOY_DIR_IMAGE}" +ROOTFS_PACKAGE_SUFFIX ?= "${PN}-${DISTRO}-${MACHINE}" ROOTFS_POSTPROCESS_COMMAND_prepend = "${@bb.utils.contains('BASE_REPO_FEATURES', 'cache-deb-src', 'cache_deb_src', '', d)} " diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass index 6ecb39df..1fc48789 100644 --- a/meta/classes/rootfs.bbclass +++ b/meta/classes/rootfs.bbclass @@ -19,6 +19,8 @@ ROOTFS_APT_ARGS="install --yes -o Debug::pkgProblemResolver=yes" ROOTFS_CLEAN_FILES="/etc/hostname /etc/resolv.conf" +ROOTFS_PACKAGE_SUFFIX ?= "${PN}-${DISTRO}-${DISTRO_ARCH}" + # Useful environment variables: export E = "${@ isar_export_proxies(d)}" export DEBIAN_FRONTEND = "noninteractive" @@ -231,14 +233,14 @@ rootfs_generate_manifest () { sudo -E chroot --userspec=$(id -u):$(id -g) '${ROOTFSDIR}' \ dpkg-query -W -f \ '${source:Package}|${source:Version}|${binary:Package}|${Version}\n' > \ - ${ROOTFS_MANIFEST_DEPLOY_DIR}/"${PF}".manifest + '${ROOTFS_MANIFEST_DEPLOY_DIR}'/'${ROOTFS_PACKAGE_SUFFIX}'.manifest } ROOTFS_POSTPROCESS_COMMAND += "${@bb.utils.contains('ROOTFS_FEATURES', 'export-dpkg-status', 'rootfs_export_dpkg_status', '', d)}" rootfs_export_dpkg_status() { mkdir -p ${ROOTFS_DPKGSTATUS_DEPLOY_DIR} cp '${ROOTFSDIR}'/var/lib/dpkg/status \ - '${ROOTFS_DPKGSTATUS_DEPLOY_DIR}'/'${PF}'.dpkg_status + '${ROOTFS_DPKGSTATUS_DEPLOY_DIR}'/'${ROOTFS_PACKAGE_SUFFIX}'.dpkg_status } do_rootfs_postprocess[vardeps] = "${ROOTFS_POSTPROCESS_COMMAND}" -- 2.20.1