Hi,

in our org we use a shared Yocto distribution that a lot of different projects 
build on top of. The individual projects use the common layers of our 
distribution and add project-specific layers on top of them. There is a shared 
package feed and I'm looking for a way to prevent the individual projects from 
overwriting each other's packages, which may share the same name but may have 
different contents or configuration.

Is there a best practice how to achieve that?

Solutions that come to mind so far:

* append a project specific suffix to PKG:${PN} - this prevents the name 
collision, but has to be set explicitly in each recipe of the project-specific 
layer(s)

* set PACKAGE_ARCH to a project specific one - this would neatly separate the 
RPMs in different folders, but also needs to be set explicitly in each recipe 
of the project-specific layer(s) - also feels a bit hackish (a project is not 
an architecture)

* use a dedicated package feed per project - this is probably the most robust / 
foolproof way, but doesn't scale well; 99% of the package data is the same 
across all projects.

* use a dedicated package feed per project, but also keep a shared package 
feed; deduplicate the unmodified packages so the project specific feed contains 
only the project specific packages. Configure dnf on the target that it uses 
the project-feed first and falls back to the common-feed. (This is my favorite 
so far, but I'm not sure how to implement it efficiently - is there any 
existing work I can build upon?)

Thanks and best regards,
Patrick
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#64744): https://lists.yoctoproject.org/g/yocto/message/64744
Mute This Topic: https://lists.yoctoproject.org/mt/111050220/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to