Message ID | 20240712054327.9526-2-ubely@ilbers.de |
---|---|
State | Under Review |
Headers | show |
Series | Deploy DTBs with separate recipe | expand |
Le vendredi 12 juillet 2024 à 07:43:37 UTC+2, Uladzimir Bely a écrit : From: Ilia Skochilov <iskoc...@ilbers.de> When building different distros with the same machine (e.g., phyboard-mira-bullseye and phyboard-mira-bookworm) it happens that some files with the same name (e.g, DTB files) are deployed to the same location and this causes build error. Use DISTRO-dependent deploy directory. Signed-off-by: Ilia Skochilov <iskoc...@ilbers.de> Signed-off-by: Uladzimir Bely <ub...@ilbers.de> --- RECIPE-API-CHANGELOG.md | 8 ++++++++ meta/conf/bitbake.conf | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 12ea93ec..15337a63 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -629,3 +629,11 @@ into kernel kbuild package. Only the "host" specific package is built automatically at cross builds. * Support emulated module build with cross-compiled kernel for linux-module + +### Change DEPLOY_DIR_IMAGE +Change DEPLOY_DIR_IMAGE from ${DEPLOY_DIR}/images/${MACHINE} to +${DEPLOY_DIR}/images/${MACHINE}-${DISTRO}. When building different distros +with the same machine the following error occurs: since layers may have multiple kernels (e.g. rt and non-rt) for the same machine (and ${DISTRO}), you may need to append -${KERNEL_NAME} I otherwise fear that some deployments will continue to fail +do_copy_boot_files: The recipe isar-image-base is trying to install files +into a shared area when those files already exists. It happens when some +files have the same names (e.g., dtb files) for different distros. diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 4cfa8b10..1087ca0f 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -56,7 +56,7 @@ WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}/${PV}-${PR}" GIT_DL_LINK_DIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}" DEPLOY_DIR_BOOTSTRAP = "${DEPLOY_DIR}/bootstrap" DEPLOY_DIR_SDKCHROOT = "${DEPLOY_DIR}/sdkchroot" -DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}" +DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}-${DISTRO}" DL_DIR ?= "${TOPDIR}/downloads" SSTATE_DIR ?= "${TOPDIR}/sstate-cache" SSTATE_MANIFESTS = "${TMPDIR}/sstate-control/${DISTRO}-${DISTRO_ARCH}"
On Fri, 2024-07-12 at 08:06 -0700, Cedric Hombourger wrote: > > > Le vendredi 12 juillet 2024 à 07:43:37 UTC+2, Uladzimir Bely a écrit : > > From: Ilia Skochilov <iskoc...@ilbers.de> > > > > When building different distros with the same machine (e.g., > > phyboard-mira-bullseye and phyboard-mira-bookworm) it happens that > > some files with the same name (e.g, DTB files) are deployed > > to the same location and this causes build error. > > > > Use DISTRO-dependent deploy directory. > > > > Signed-off-by: Ilia Skochilov <iskoc...@ilbers.de> > > Signed-off-by: Uladzimir Bely <ub...@ilbers.de> > > --- > > RECIPE-API-CHANGELOG.md | 8 ++++++++ > > meta/conf/bitbake.conf | 2 +- > > 2 files changed, 9 insertions(+), 1 deletion(-) > > > > diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md > > index 12ea93ec..15337a63 100644 > > --- a/RECIPE-API-CHANGELOG.md > > +++ b/RECIPE-API-CHANGELOG.md > > @@ -629,3 +629,11 @@ into kernel kbuild package. > > Only the "host" specific package is built automatically at cross builds. > > > > > > > > > > * Support emulated module build with cross-compiled kernel for linux-module > > + > > +### Change DEPLOY_DIR_IMAGE > > +Change DEPLOY_DIR_IMAGE from ${DEPLOY_DIR}/images/${MACHINE} to > > +${DEPLOY_DIR}/images/${MACHINE}-${DISTRO}. When building different distros > > +with the same machine the following error occurs: > > > since layers may have multiple kernels (e.g. rt and non-rt) for the same machine (and ${DISTRO}), you may need to append -${KERNEL_NAME} > I otherwise fear that some deployments will continue to fail Correct. In addition I'm expecting a lot of trouble due to necessary adjustments. I think nearly every CI deployment expects the output at the current location. Thanks for mentioning that in the API changelog. This is a very good first step. Is there something else that we could do to help all users find the necessary adjustment? Probably not... Florian > > > > > +do_copy_boot_files: The recipe isar-image-base is trying to install files > > +into a shared area when those files already exists. It happens when some > > +files have the same names (e.g., dtb files) for different distros. > > diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf > > index 4cfa8b10..1087ca0f 100644 > > --- a/meta/conf/bitbake.conf > > +++ b/meta/conf/bitbake.conf > > @@ -56,7 +56,7 @@ WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}/${PV}-${PR}" > > GIT_DL_LINK_DIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}" > > DEPLOY_DIR_BOOTSTRAP = "${DEPLOY_DIR}/bootstrap" > > DEPLOY_DIR_SDKCHROOT = "${DEPLOY_DIR}/sdkchroot" > > -DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}" > > +DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}-${DISTRO}" > > DL_DIR ?= "${TOPDIR}/downloads" > > SSTATE_DIR ?= "${TOPDIR}/sstate-cache" > > SSTATE_MANIFESTS = "${TMPDIR}/sstate-control/${DISTRO}-${DISTRO_ARCH}" > > -- > > 2.44.2 > >
diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 12ea93ec..15337a63 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -629,3 +629,11 @@ into kernel kbuild package. Only the "host" specific package is built automatically at cross builds. * Support emulated module build with cross-compiled kernel for linux-module + +### Change DEPLOY_DIR_IMAGE +Change DEPLOY_DIR_IMAGE from ${DEPLOY_DIR}/images/${MACHINE} to +${DEPLOY_DIR}/images/${MACHINE}-${DISTRO}. When building different distros +with the same machine the following error occurs: +do_copy_boot_files: The recipe isar-image-base is trying to install files +into a shared area when those files already exists. It happens when some +files have the same names (e.g., dtb files) for different distros. diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 4cfa8b10..1087ca0f 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -56,7 +56,7 @@ WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}/${PV}-${PR}" GIT_DL_LINK_DIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}" DEPLOY_DIR_BOOTSTRAP = "${DEPLOY_DIR}/bootstrap" DEPLOY_DIR_SDKCHROOT = "${DEPLOY_DIR}/sdkchroot" -DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}" +DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}-${DISTRO}" DL_DIR ?= "${TOPDIR}/downloads" SSTATE_DIR ?= "${TOPDIR}/sstate-cache" SSTATE_MANIFESTS = "${TMPDIR}/sstate-control/${DISTRO}-${DISTRO_ARCH}"