Hi Ricardo,
I have a question regarding your commit 76739fe56f0eb0f1eb4eefcc3f250e4b8454cf30 in meta-swupdate, scarthgap, which adds a separate package ${PN}-ipc for libswupdate library (see links at the end of my mail).
In our Yocto Linux distribution we are using multiple instances of swupdate
because some images need a signed and some an unsigned swupdate:
In our distro layer we have
Each one is pointing to the same SRCREV but to a difference defconfig.
This worked all well before ${PN}-ipc was introduced.
Building the recipes works well but in do_packagedata, I’m getting
this error:
ERROR: swupdate-2024.12-r0.spark1 do_packagedata: Recipe swupdate is trying to
install files into a shared area when those files already exist. The files and
the manifests listing them are:
/home/chchlee/scarthgap_arm/build/tmp-glibc/pkgdata/rtu530cpm0x/runtime-reverse/libswupdate0.1 (matched in manifest-rtu530cpm0x-swupdate-pasop-signed.packagedata)
Please adjust the recipes so only one recipe provides a given file.
ERROR: Logfile of failure stored in: /home/chchlee/scarthgap_arm/build/tmp-glibc/work/armv7ahf-neon-oe-linux-gnueabi/swupdate/2024.12/temp/log.do_packagedata.2108593
The reason seems to be that all swupdate instances try to install
libswupdate0.1 in ${PN}-ipc. I guess the “shared area” is the sysroot. Maybe
the new dependencies
RDEPENDS:${PN}-dev += "${PN}-ipc"
RRECOMMENDS:${PN} += "${PN}-ipc"
create the problem.
Maybe you can give me a hint how I could address this issue?
Best regards, Chris
-----------
File: https://github.com/sbabic/meta-swupdate/blob/scarthgap/recipes-support/swupdate/swupdate.inc
Commit message
: swupdate: package libswupdate into separate package
The libswupdate shared library produced by the contents of the ipc
subdirectory can be used by other packages to communicate with SWUpdate.
The library is embedded into the base package which creates two
problems:
- A recipe / program cannot depend on libswupdate without depending on
swupdate
- The complete set of swupdate licenses seems to apply to the program
including strong copyleft GPL-2.0-only instead only LPGL-2.1-or-later
As documented in the source code swupdate-ipc is purely
LGPL-2.1-or-later.
Existing recipes / programs which need libswupdate but only depend on
swupdate will still get libswupdate through a runtime recommendation.
Signed-off-by: Ricardo Simoes <ricardo...@pt.bosch.com>
Signed-off-by: Mark Jonas <mark....@de.bosch.com>