[1/3] eudev: Convert dependencies to PACKAGECONFIG

Message ID 20220516194915.29231-1-alex.kiernan@gmail.com
State Accepted, archived
Commit c6e1483009fc67a5b0e192786b58f256a38f62f7
Headers show
Series [1/3] eudev: Convert dependencies to PACKAGECONFIG | expand

Commit Message

Alex Kiernan May 16, 2022, 7:49 p.m. UTC
GObject support was dropped in 252150e181c5 ("src/gudev: remove Gobject
libudev support."), but some gir support appears to still exist.

Fill out PACKAGECONFIG options.

Signed-off-by: Alex Kiernan <alexk@zuma.ai>
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
 meta/recipes-core/udev/eudev_3.2.11.bb | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Richard Purdie May 20, 2022, 8:24 a.m. UTC | #1
On Mon, 2022-05-16 at 20:49 +0100, Alex Kiernan wrote:
> GObject support was dropped in 252150e181c5 ("src/gudev: remove Gobject
> libudev support."), but some gir support appears to still exist.
> 
> Fill out PACKAGECONFIG options.
> 
> Signed-off-by: Alex Kiernan <alexk@zuma.ai>
> Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> ---
>  meta/recipes-core/udev/eudev_3.2.11.bb | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/recipes-core/udev/eudev_3.2.11.bb b/meta/recipes-core/udev/eudev_3.2.11.bb
> index 841039f6d745..0fd1b6ab2283 100644
> --- a/meta/recipes-core/udev/eudev_3.2.11.bb
> +++ b/meta/recipes-core/udev/eudev_3.2.11.bb
> @@ -5,7 +5,7 @@ LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
>  LICENSE:libudev = "LGPL-2.1-or-later"
>  LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
>  
> -DEPENDS = "glib-2.0 glib-2.0-native gperf-native kmod util-linux"
> +DEPENDS = "gperf-native"
>  
>  PROVIDES = "udev"
>  
> @@ -19,7 +19,7 @@ SRC_URI[sha256sum] = "19847cafec67897da855fde56f9dc7d92e21c50e450aa79068a7e704ed
>  UPSTREAM_CHECK_URI = "https://github.com/eudev-project/eudev/releases"
>  UPSTREAM_CHECK_REGEX = "eudev-(?P<pver>\d+(\.\d+)+)\.tar"
>  
> -inherit autotools update-rc.d qemu pkgconfig features_check manpages
> +inherit autotools update-rc.d qemu pkgconfig features_check manpages gobject-introspection

I like most of what this patch does, cleaning up this kind of thing is
great. I am a bit worried about the gobject-introspection inherit
though as this wasn't there before and brings with it a huge dependency
tree. For something as "core" as udev that is rather sad. Do we really
need it? Should we find a way to disable it by default?

Cheers,

Richard
Alex Kiernan May 20, 2022, 8:29 a.m. UTC | #2
On Fri, May 20, 2022 at 9:24 AM <richard.purdie@linuxfoundation.org> wrote:
>
> On Mon, 2022-05-16 at 20:49 +0100, Alex Kiernan wrote:
> > GObject support was dropped in 252150e181c5 ("src/gudev: remove Gobject
> > libudev support."), but some gir support appears to still exist.
> >
> > Fill out PACKAGECONFIG options.
> >
> > Signed-off-by: Alex Kiernan <alexk@zuma.ai>
> > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
> > ---
> >  meta/recipes-core/udev/eudev_3.2.11.bb | 9 ++++++---
> >  1 file changed, 6 insertions(+), 3 deletions(-)
> >
> > diff --git a/meta/recipes-core/udev/eudev_3.2.11.bb b/meta/recipes-core/udev/eudev_3.2.11.bb
> > index 841039f6d745..0fd1b6ab2283 100644
> > --- a/meta/recipes-core/udev/eudev_3.2.11.bb
> > +++ b/meta/recipes-core/udev/eudev_3.2.11.bb
> > @@ -5,7 +5,7 @@ LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
> >  LICENSE:libudev = "LGPL-2.1-or-later"
> >  LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
> >
> > -DEPENDS = "glib-2.0 glib-2.0-native gperf-native kmod util-linux"
> > +DEPENDS = "gperf-native"
> >
> >  PROVIDES = "udev"
> >
> > @@ -19,7 +19,7 @@ SRC_URI[sha256sum] = "19847cafec67897da855fde56f9dc7d92e21c50e450aa79068a7e704ed
> >  UPSTREAM_CHECK_URI = "https://github.com/eudev-project/eudev/releases"
> >  UPSTREAM_CHECK_REGEX = "eudev-(?P<pver>\d+(\.\d+)+)\.tar"
> >
> > -inherit autotools update-rc.d qemu pkgconfig features_check manpages
> > +inherit autotools update-rc.d qemu pkgconfig features_check manpages gobject-introspection
>
> I like most of what this patch does, cleaning up this kind of thing is
> great. I am a bit worried about the gobject-introspection inherit
> though as this wasn't there before and brings with it a huge dependency
> tree. For something as "core" as udev that is rather sad. Do we really
> need it? Should we find a way to disable it by default?
>

Let me dig some more... basically swapping in g-i-r made the intent of
the previous glib inherits more obvious but I have a strong suspicion
there's no actual code left in eudev which will drive it and it just
wasn't removed from configure.ac as part of removing GObject.

I'll try an upstream patch to completely expunge it and see where we end up.

Patch

diff --git a/meta/recipes-core/udev/eudev_3.2.11.bb b/meta/recipes-core/udev/eudev_3.2.11.bb
index 841039f6d745..0fd1b6ab2283 100644
--- a/meta/recipes-core/udev/eudev_3.2.11.bb
+++ b/meta/recipes-core/udev/eudev_3.2.11.bb
@@ -5,7 +5,7 @@  LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
 LICENSE:libudev = "LGPL-2.1-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
 
-DEPENDS = "glib-2.0 glib-2.0-native gperf-native kmod util-linux"
+DEPENDS = "gperf-native"
 
 PROVIDES = "udev"
 
@@ -19,7 +19,7 @@  SRC_URI[sha256sum] = "19847cafec67897da855fde56f9dc7d92e21c50e450aa79068a7e704ed
 UPSTREAM_CHECK_URI = "https://github.com/eudev-project/eudev/releases"
 UPSTREAM_CHECK_REGEX = "eudev-(?P<pver>\d+(\.\d+)+)\.tar"
 
-inherit autotools update-rc.d qemu pkgconfig features_check manpages
+inherit autotools update-rc.d qemu pkgconfig features_check manpages gobject-introspection
 
 CONFLICT_DISTRO_FEATURES = "systemd"
 
@@ -30,11 +30,14 @@  EXTRA_OECONF = " \
     --with-rootprefix= \
 "
 
-PACKAGECONFIG ?= "hwdb \
+PACKAGECONFIG ?= "blkid hwdb kmod \
                   ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
 "
+PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux"
 PACKAGECONFIG[hwdb] = "--enable-hwdb,--disable-hwdb"
+PACKAGECONFIG[kmod] = "--enable-kmod,--disable-kmod,kmod"
 PACKAGECONFIG[manpages] = "--enable-manpages,--disable-manpages"
+PACKAGECONFIG[rule-generator] = "--enable-rule-generator,--disable-rule-generator"
 PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
 
 do_install:append() {