[meta-ti] [thud/master][RFC PATCH 2/3] ti-sgx-ddk-um: Add expat as runtime dependency

Denys Dmytriyenko denys at ti.com
Wed Jul 24 13:27:42 PDT 2019


On Wed, Jul 24, 2019 at 03:29:15PM -0400, Andrew F. Davis wrote:
> On 7/24/19 3:24 PM, Denys Dmytriyenko wrote:
> > On Fri, Jul 19, 2019 at 05:06:18PM -0400, Andrew F. Davis wrote:
> >> Although not needed for the IMG default EGL implementation libexpat
> >> is needed when using the Mesa EGL version.
> > 
> > Yes, and Rogue has it in RDEPENDS, as it uses Mesa. Why would SGX need it?
> 
> I have SGX using Mesa now, we get some EGL extensions and much closer to
> EGL1.5 support.

Ah, gaining EGL 1.5 would be nice...


> >> While here s/libudev/udev as 'libudev' is package shipped as part of the
> >> eudev project, but we use systemd, so we actually depend on 'udev'.
> > 
> > And systemd also provides libudev. From run-time dependency, we really require 
> > libudev, not udev. As udev is just a daemon and bunch of config files - there 
> > is nothing to run-time depend on in there...
> 
> That's rather confusing.., will drop change for v2

Not really that confusing. Rough high-level explanation:

For build-time dependency you depend on a recipe name, which will be built 
before your package and available in the same namespace. I.e. <name>.bb

For run-time dependency, you depend on the specific binary package that is the 
build output from a recipe. I.e. <name>.ipk

Some recipes generate a package with the same name (plus regular -dev, -dbg, 
-doc, etc.). Other recipes generate multiple packages and split the output in 
more logical way. When udev was a standalone component, it had a main udev 
package for binaries and configs, plus an additional libudev package for the 
library. If your component links against libudev library, it has to have 
run-time dependency on it. While systemd absorbed udev, naming and packaging 
remained for backward compatibility. And you can switch your device manager 
from systemd to eudev and everything will build and work w/o modifying 
recipes.

For normal components built from sources Bitbake handles most of this 
automatically behind the scene and sets RDEPENDS for you based on DEPENDS 
and info from the linker. Since this is a pre-built binary component, some 
manual setup is required. But only RDEPENDS is required, DEPENDS can be 
dropped, as you said below.


> >> Move the PACKAGE_ARCH and PR defines to a more natural spot that also
> >> lines up with the RGX version of recipe for easier diffs.
> >>
> >> One thing we could have done is remove the DEPENDS line. We do not have
> >> any build dependencies as these are pre-made library binaries, but I use
> >> the package rootfs generated by bitbake to build the binaries locally,
> >> so leave it for now.
> > 
> > Is this detail really necessary for the commit message?
> > 
> 
> Nope, just extra for the RFC, will drop from final.
> 
> Andrew
> 
> > 
> >> Signed-off-by: Andrew F. Davis <afd at ti.com>
> >> ---
> >>  recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb | 8 ++++----
> >>  1 file changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb b/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb
> >> index 3c0242e2..a1e35b52 100644
> >> --- a/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb
> >> +++ b/recipes-graphics/libgles/ti-sgx-ddk-um_1.17.4948957.bb
> >> @@ -3,9 +3,10 @@ HOMEPAGE = "https://git.ti.com/graphics/omap5-sgx-ddk-um-linux"
> >>  LICENSE = "TI-TSPA"
> >>  LIC_FILES_CHKSUM = "file://TI-Linux-Graphics-DDK-UM-Manifest.doc;md5=b17390502bc89535c86cfbbae961a2a8"
> >>  
> >> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> >>  COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|k3"
> >>  
> >> -PACKAGE_ARCH = "${MACHINE_ARCH}"
> >> +PR = "r33"
> >>  
> >>  BRANCH = "ti-img-sgx/thud/${PV}"
> >>  
> >> @@ -22,11 +23,10 @@ INITSCRIPT_PARAMS = "defaults 8"
> >>  
> >>  inherit update-rc.d
> >>  
> >> -PR = "r33"
> >>  PROVIDES += "virtual/egl virtual/libgles1 virtual/libgles2 virtual/libgbm omap5-sgx-ddk-um-linux"
> >>  
> >> -DEPENDS += "libdrm udev wayland libffi"
> >> -RDEPENDS_${PN} += "libdrm libudev wayland libffi libdrm-omap"
> >> +DEPENDS += "libdrm udev wayland libffi expat"
> >> +RDEPENDS_${PN} += "libdrm libdrm-omap udev wayland libffi expat"
> >>  
> >>  RPROVIDES_${PN} = "libegl libgles1 libgles2 libgbm omap5-sgx-ddk-um-linux"
> >>  RPROVIDES_${PN}-dev = "libegl-dev libgles1-dev libgles2-dev libgbm-dev omap5-sgx-ddk-um-linux-dev"
> >> -- 
> >> 2.17.1
> >>


More information about the meta-ti mailing list