On 7/25/19 9:38 PM, Bruce Ashfield wrote: > > > On Thu, Jul 25, 2019 at 10:31 PM Bruce Ashfield <[email protected] > <mailto:[email protected]>> wrote: > > > > On Thu, Jul 25, 2019 at 9:57 PM Yu, Mingli <[email protected] > <mailto:[email protected]>> wrote: > > > > On 2019年07月26日 02:28, Bruce Ashfield wrote: > > On Wed, Jul 24, 2019 at 11:43 PM <[email protected] > <mailto:[email protected]>> wrote: > >> > >> From: Mingli Yu <[email protected] > <mailto:[email protected]>> > >> > >> Since cri-o of meta-virtualization depends on > >> libselinux which comes from selinux, add missing > >> layer depends back. > > > > This is already covered in the README. Since cri-o is optional, I > > didn't want it to be a hard depends. > > Not matter cri-o is optional or not, but first the cri-o recipe indeed > exists in meta-virtualization layer until now as > ./meta-virtualization/recipes-containers/cri-o/cri-o_git.bb > <http://cri-o_git.bb> and second > there is below logic in > > > considering that I wrote the recipe .. I know this. > > > > ./meta-virtualization/recipes-containers/cri-o/cri-o_git.bb > <http://cri-o_git.bb> and clearly > it depends on libselinux. > DEPENDS = " \ > glib-2.0 \ > btrfs-tools \ > gpgme \ > ostree \ > libdevmapper \ > libseccomp \ > libselinux \ > "
Why does cri-o (any version) require libselinux? (libseccomp I can see). Is this something that changed upstream to make it mandatory? If so, any way to reverse it? selinux is horribly heavy weight for a lot of things. > So we should add the layer depends selinux(libselinux in selinux > layer) > for meta-virtualization layer, otherwise there comes below error when > do > yocto compliance check: > ERROR: Nothing PROVIDES 'libselinux' (but > > /buildarea/layers/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb > <http://cri-o_git.bb> > DEPENDS on or otherwise requires it) > > > My point is that I disagree with that compliance check. Unless I'm > building > the recipe, I don't have that dependency, I want a way to express that. > > > That being said, I did merge the patch so the layer will be in compliance > while > I look into options for not always requiring that dependency. The way to do this is make the recipe based on a dynamic dependency. IMHO the -best- way to do this, if possible, is to split the libselinux dependency out. Make it buildable with it. But either way the setup is similar. conf/layer.conf: BBFILES_DYNAMIC += "selinux:${LAYERDIR}/dynamic-layers/selinux/recipes*/*/*.bb \ selinux:${LAYERDIR}/dynamic-layers/selinux/recipes*/*/*.bbappend" LAYERRECOMMENDS_<collection> = " \ selinux \ " The above says that selinux is recommended for use with this (layerindex can read this and process it.) The BBFILES_DYNAMIC says to only bring in that path if 'selinux' collection is available. Then move the recipe (or break out the selinux part in a bbappend) into: dynamic-layers/selinux/recipes-containers/cri-o/... --Mark > Bruce > > > > > Bruce > > > > ERROR: Required build target 'meta-world-pkgdata' has no buildable > providers. > > Missing or unbuildable dependency chain was: ['meta-world-pkgdata', > 'cri-o', 'libselinux' > ] > > Thanks, > > > > > Required for cri-o: > > URI: git://github.com/advancedtelematic/meta-updater > <http://github.com/advancedtelematic/meta-updater> > > URI: git://git.yoctoproject.org/meta-selinux > <http://git.yoctoproject.org/meta-selinux> > > URI: git://git.yoctoproject.org/meta-security > <http://git.yoctoproject.org/meta-security> > > branch: master > > revision: HEAD > > prio: default > > > > > > I haven't seen a way to do a conditional depends .. has anyone else > ? > > > > Bruce > > > >> > >> Signed-off-by: Mingli Yu <[email protected] > <mailto:[email protected]>> > >> --- > >> conf/layer.conf | 1 + > >> 1 file changed, 1 insertion(+) > >> > >> diff --git a/conf/layer.conf b/conf/layer.conf > >> index be1f222..23efcb8 100644 > >> --- a/conf/layer.conf > >> +++ b/conf/layer.conf > >> @@ -21,6 +21,7 @@ LAYERDEPENDS_virtualization-layer = " \ > >> networking-layer \ > >> filesystems-layer \ > >> meta-python \ > >> + selinux \ > >> " > >> > >> # webserver: naigos requires apache2 > >> -- > >> 2.7.4 > >> > > > > > > > > -- > - Thou shalt not follow the NULL pointer, for chaos and madness await thee > at its end > - "Use the force Harry" - Gandalf, Star Trek II > > > > -- > - Thou shalt not follow the NULL pointer, for chaos and madness await thee at > its end > - "Use the force Harry" - Gandalf, Star Trek II > -- _______________________________________________ meta-virtualization mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-virtualization
