diff mbox series

[meta-oe,1/2] lvgl: lv-drivers: Allow empty package

Message ID 20231018181221.87138-1-marex@denx.de
State Under Review
Headers show
Series [meta-oe,1/2] lvgl: lv-drivers: Allow empty package | expand

Commit Message

Marek Vasut Oct. 18, 2023, 6:12 p.m. UTC
The lv-drivers main package is empty, since all the headers end up
in the -dev variant and static library archive ends up in -staticdev
variant. Mark the main package as ALLOW_EMPTY.

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Fabio Estevam <festevam@denx.de>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: Martin Jansa <martin.jansa@gmail.com>
Cc: Michael Opdenacker <michael.opdenacker@bootlin.com>
---
 meta-oe/recipes-graphics/lvgl/lv-drivers.inc | 2 ++
 1 file changed, 2 insertions(+)

Comments

Martin Jansa Oct. 18, 2023, 7:05 p.m. UTC | #1
What issue does this actually fix?

Is it related to
https://lists.openembedded.org/g/openembedded-core/message/188383 ?

I'm not fan of empty useless packages created just to make package manager
happy when something else has unfortunate dependency on them.

On Wed, Oct 18, 2023 at 8:12 PM Marek Vasut <marex@denx.de> wrote:

> The lv-drivers main package is empty, since all the headers end up
> in the -dev variant and static library archive ends up in -staticdev
> variant. Mark the main package as ALLOW_EMPTY.
>
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Fabio Estevam <festevam@denx.de>
> Cc: Khem Raj <raj.khem@gmail.com>
> Cc: Martin Jansa <martin.jansa@gmail.com>
> Cc: Michael Opdenacker <michael.opdenacker@bootlin.com>
> ---
>  meta-oe/recipes-graphics/lvgl/lv-drivers.inc | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/meta-oe/recipes-graphics/lvgl/lv-drivers.inc
> b/meta-oe/recipes-graphics/lvgl/lv-drivers.inc
> index dcf1ad14b..6cfb7fa07 100644
> --- a/meta-oe/recipes-graphics/lvgl/lv-drivers.inc
> +++ b/meta-oe/recipes-graphics/lvgl/lv-drivers.inc
> @@ -17,6 +17,8 @@ LVGL_CONFIG_USE_WAYLAND =
> "${@bb.utils.contains('PACKAGECONFIG', 'wayland', '1',
>  LVGL_CONFIG_WAYLAND_HOR_RES ?= "480"
>  LVGL_CONFIG_WAYLAND_VER_RES ?= "320"
>
> +ALLOW_EMPTY:${PN} = "1"
> +
>  EXTRA_OECMAKE += "-Dinstall:BOOL=ON -DLIB_INSTALL_DIR=${baselib}"
>
>  do_configure:append() {
> --
> 2.42.0
>
>
Marek Vasut Oct. 18, 2023, 7:34 p.m. UTC | #2
On 10/18/23 21:05, Martin Jansa wrote:
> What issue does this actually fix?
> 
> Is it related to
> https://lists.openembedded.org/g/openembedded-core/message/188383 ?

Nope

> I'm not fan of empty useless packages created just to make package manager
> happy when something else has unfortunate dependency on them.

I have a downstream repo where a tool DEPENDS on lvgl and it builds an 
SDK too, that's where it blows up on the empty package.
Peter Kjellerstedt Oct. 26, 2023, 6:53 p.m. UTC | #3
> -----Original Message-----
> From: openembedded-devel@lists.openembedded.org <openembedded-
> devel@lists.openembedded.org> On Behalf Of Marek Vasut
> Sent: den 18 oktober 2023 21:35
> To: Martin Jansa <martin.jansa@gmail.com>
> Cc: openembedded-devel@lists.openembedded.org; Fabio Estevam
> <festevam@denx.de>; Khem Raj <raj.khem@gmail.com>; Michael Opdenacker
> <michael.opdenacker@bootlin.com>
> Subject: Re: [oe] [meta-oe][PATCH 1/2] lvgl: lv-drivers: Allow empty
> package
> 
> On 10/18/23 21:05, Martin Jansa wrote:
> > What issue does this actually fix?
> >
> > Is it related to
> > https://lists.openembedded.org/g/openembedded-core/message/188383 ?
> 
> Nope
> 
> > I'm not fan of empty useless packages created just to make package manager
> > happy when something else has unfortunate dependency on them.
> 
> I have a downstream repo where a tool DEPENDS on lvgl and it builds an
> SDK too, that's where it blows up on the empty package.

The reason I know of where this is needed is due to license aggregation. 
In our case we use the image manifest to determine the packages that 
went into the rootfs, and then gather the license information for those
packages. If there is no package, e.g., for static libraries or header 
only libraries, then we miss the license information for those packages, 
unless we allow the empty packages to be created and add explicit runtime 
dependencies on them. :( I wish there was a better way to handle this, 
but so far using empty packages is the only solution I have.

//Peter
diff mbox series

Patch

diff --git a/meta-oe/recipes-graphics/lvgl/lv-drivers.inc b/meta-oe/recipes-graphics/lvgl/lv-drivers.inc
index dcf1ad14b..6cfb7fa07 100644
--- a/meta-oe/recipes-graphics/lvgl/lv-drivers.inc
+++ b/meta-oe/recipes-graphics/lvgl/lv-drivers.inc
@@ -17,6 +17,8 @@  LVGL_CONFIG_USE_WAYLAND = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', '1',
 LVGL_CONFIG_WAYLAND_HOR_RES ?= "480"
 LVGL_CONFIG_WAYLAND_VER_RES ?= "320"
 
+ALLOW_EMPTY:${PN} = "1"
+
 EXTRA_OECMAKE += "-Dinstall:BOOL=ON -DLIB_INSTALL_DIR=${baselib}"
 
 do_configure:append() {