* [PATCH v2 0/1] Fix conflicting names of image manifest and dpkg_status
@ 2022-01-12 12:57 Uladzimir Bely
2022-01-12 12:57 ` [PATCH v2 1/1] meta: Fix conflicting name " Uladzimir Bely
2022-01-19 6:30 ` [PATCH v2 0/1] Fix conflicting names " Anton Mikanovich
0 siblings, 2 replies; 3+ messages in thread
From: Uladzimir Bely @ 2022-01-12 12:57 UTC (permalink / raw)
To: isar-users
Changes since v1:
- Fixed 'multiple execution error' that buildchroot's 'dpkg_status'
deploy could cause.
- Added notes to RECIPE-API-CHANGELOG.
Uladzimir Bely (1):
meta: Fix conflicting name of image manifest and dpkg_status
RECIPE-API-CHANGELOG.md | 8 ++++++++
meta/classes/image.bbclass | 1 +
meta/classes/rootfs.bbclass | 6 ++++--
3 files changed, 13 insertions(+), 2 deletions(-)
--
2.20.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v2 1/1] meta: Fix conflicting name of image manifest and dpkg_status
2022-01-12 12:57 [PATCH v2 0/1] Fix conflicting names of image manifest and dpkg_status Uladzimir Bely
@ 2022-01-12 12:57 ` Uladzimir Bely
2022-01-19 6:30 ` [PATCH v2 0/1] Fix conflicting names " Anton Mikanovich
1 sibling, 0 replies; 3+ messages in thread
From: Uladzimir Bely @ 2022-01-12 12:57 UTC (permalink / raw)
To: isar-users
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 <ubely@ilbers.de>
---
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2 0/1] Fix conflicting names of image manifest and dpkg_status
2022-01-12 12:57 [PATCH v2 0/1] Fix conflicting names of image manifest and dpkg_status Uladzimir Bely
2022-01-12 12:57 ` [PATCH v2 1/1] meta: Fix conflicting name " Uladzimir Bely
@ 2022-01-19 6:30 ` Anton Mikanovich
1 sibling, 0 replies; 3+ messages in thread
From: Anton Mikanovich @ 2022-01-19 6:30 UTC (permalink / raw)
To: Uladzimir Bely, isar-users
12.01.2022 15:57, Uladzimir Bely wrote:
> Changes since v1:
> - Fixed 'multiple execution error' that buildchroot's 'dpkg_status'
> deploy could cause.
> - Added notes to RECIPE-API-CHANGELOG.
>
> Uladzimir Bely (1):
> meta: Fix conflicting name of image manifest and dpkg_status
>
> RECIPE-API-CHANGELOG.md | 8 ++++++++
> meta/classes/image.bbclass | 1 +
> meta/classes/rootfs.bbclass | 6 ++++--
> 3 files changed, 13 insertions(+), 2 deletions(-)
>
Applied to next, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-01-19 6:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-12 12:57 [PATCH v2 0/1] Fix conflicting names of image manifest and dpkg_status Uladzimir Bely
2022-01-12 12:57 ` [PATCH v2 1/1] meta: Fix conflicting name " Uladzimir Bely
2022-01-19 6:30 ` [PATCH v2 0/1] Fix conflicting names " Anton Mikanovich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox