[meta-gnome] folks: make some dependencies optional

Message ID 20220125181339.114315-1-f_l_k@t-online.de
State New
Headers show
Series [meta-gnome] folks: make some dependencies optional | expand

Commit Message

Markus Volk Jan. 25, 2022, 6:13 p.m. UTC
make some dependencies optional
add libebook dependency to all backends that need it
ofono backend depends on eds backend

Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
 .../recipes-connectivity/folks/folks_0.15.4.bb    | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

Comments

Ross Burton Jan. 28, 2022, 5:15 p.m. UTC | #1
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,python3-dbusmock-native"

You don't install the tests, so this serves no purpose.

Just set -Dtests=false explicitly, unless you install the tests and do the ptest integration.

Also the dbusmock test in folks is broken, it should be cross-aware.  As you can't check for target python modules it should avoid the check in cross builds.

Ross
Khem Raj Jan. 28, 2022, 5:33 p.m. UTC | #2
On Fri, Jan 28, 2022 at 9:15 AM Ross Burton <ross@burtonini.com> wrote:
>
> +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,python3-dbusmock-native"
>
> You don't install the tests, so this serves no purpose.
>
> Just set -Dtests=false explicitly, unless you install the tests and do the ptest integration.
>
> Also the dbusmock test in folks is broken, it should be cross-aware.  As you can't check for target python modules it should avoid the check in cross builds.
>

yeah if the tests are not cross building then it might make sense to
disable them atleast for target recipe.

> Ross
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#95149): https://lists.openembedded.org/g/openembedded-devel/message/95149
> Mute This Topic: https://lists.openembedded.org/mt/88678231/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Markus Volk Jan. 28, 2022, 5:35 p.m. UTC | #3
https://github.com/openembedded/meta-openembedded/blob/aa22894fa352986a62c4530ad8facd8868b2e535/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb#L24

Doesn't this line explicitly disable tests until DISTRO_FEATURE ptests 
is set ?

Am 28.01.22 um 18:15 schrieb Ross Burton:
> +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,python3-dbusmock-native"
>
> You don't install the tests, so this serves no purpose.
>
> Just set -Dtests=false explicitly, unless you install the tests and do the ptest integration.
>
> Also the dbusmock test in folks is broken, it should be cross-aware.  As you can't check for target python modules it should avoid the check in cross builds.
>
> Ross
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#95149): https://lists.openembedded.org/g/openembedded-devel/message/95149
> Mute This Topic: https://lists.openembedded.org/mt/88678231/3618223
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [f_l_k@t-online.de]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Khem Raj Jan. 28, 2022, 5:38 p.m. UTC | #4
On Fri, Jan 28, 2022 at 9:35 AM Markus Volk <f_l_k@t-online.de> wrote:
>
> https://github.com/openembedded/meta-openembedded/blob/aa22894fa352986a62c4530ad8facd8868b2e535/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb#L24
>
> Doesn't this line explicitly disable tests until DISTRO_FEATURE ptests
> is set ?

yes but it means we think that tests do work when ptest feature is
enabled which is not true. So it should be disabled even for distros
enabling ptest feature.

>
> Am 28.01.22 um 18:15 schrieb Ross Burton:
> > +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,python3-dbusmock-native"
> >
> > You don't install the tests, so this serves no purpose.
> >
> > Just set -Dtests=false explicitly, unless you install the tests and do the ptest integration.
> >
> > Also the dbusmock test in folks is broken, it should be cross-aware.  As you can't check for target python modules it should avoid the check in cross builds.
> >
> > Ross
> >
> >
> >
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#95151): https://lists.openembedded.org/g/openembedded-devel/message/95151
> Mute This Topic: https://lists.openembedded.org/mt/88678231/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Markus Volk Jan. 28, 2022, 5:42 p.m. UTC | #5
Like this ?

PACKAGECONFIG:append:class-native = 
"${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests','', d)}"

or just with

EXTRA_OEMESON = "-Dtests=false" ?


Am 28.01.22 um 18:38 schrieb Khem Raj:
> On Fri, Jan 28, 2022 at 9:35 AM Markus Volk <f_l_k@t-online.de> wrote:
>> https://github.com/openembedded/meta-openembedded/blob/aa22894fa352986a62c4530ad8facd8868b2e535/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb#L24
>>
>> Doesn't this line explicitly disable tests until DISTRO_FEATURE ptests
>> is set ?
> yes but it means we think that tests do work when ptest feature is
> enabled which is not true. So it should be disabled even for distros
> enabling ptest feature.
>
>> Am 28.01.22 um 18:15 schrieb Ross Burton:
>>> +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,python3-dbusmock-native"
>>>
>>> You don't install the tests, so this serves no purpose.
>>>
>>> Just set -Dtests=false explicitly, unless you install the tests and do the ptest integration.
>>>
>>> Also the dbusmock test in folks is broken, it should be cross-aware.  As you can't check for target python modules it should avoid the check in cross builds.
>>>
>>> Ross
>>>
>>>
>>>
>>
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#95152): https://lists.openembedded.org/g/openembedded-devel/message/95152
>> Mute This Topic: https://lists.openembedded.org/mt/88678231/3618223
>> Group Owner: openembedded-devel+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [f_l_k@t-online.de]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
Ross Burton Jan. 28, 2022, 5:43 p.m. UTC | #6
On Fri, 28 Jan 2022 at 17:35, Markus Volk <f_l_k@t-online.de> wrote:
>
> https://github.com/openembedded/meta-openembedded/blob/aa22894fa352986a62c4530ad8facd8868b2e535/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb#L24
>
> Doesn't this line explicitly disable tests until DISTRO_FEATURE ptests
> is set ?

Yes, but if the tests are enabled they're still not installed, so
there's no point in building them at all.

Ross
Khem Raj Jan. 28, 2022, 5:43 p.m. UTC | #7
On Fri, Jan 28, 2022 at 9:42 AM Markus Volk <f_l_k@t-online.de> wrote:
>
> Like this ?
>
> PACKAGECONFIG:append:class-native =
> "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests','', d)}"
>
> or just with
>
> EXTRA_OEMESON = "-Dtests=false" ?
>

you cant control ptest distro feature here so its better to remove
that packageconfig and just set

EXTRA_OEMESON += "-Dtests=false"
>
> Am 28.01.22 um 18:38 schrieb Khem Raj:
> > On Fri, Jan 28, 2022 at 9:35 AM Markus Volk <f_l_k@t-online.de> wrote:
> >> https://github.com/openembedded/meta-openembedded/blob/aa22894fa352986a62c4530ad8facd8868b2e535/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb#L24
> >>
> >> Doesn't this line explicitly disable tests until DISTRO_FEATURE ptests
> >> is set ?
> > yes but it means we think that tests do work when ptest feature is
> > enabled which is not true. So it should be disabled even for distros
> > enabling ptest feature.
> >
> >> Am 28.01.22 um 18:15 schrieb Ross Burton:
> >>> +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,python3-dbusmock-native"
> >>>
> >>> You don't install the tests, so this serves no purpose.
> >>>
> >>> Just set -Dtests=false explicitly, unless you install the tests and do the ptest integration.
> >>>
> >>> Also the dbusmock test in folks is broken, it should be cross-aware.  As you can't check for target python modules it should avoid the check in cross builds.
> >>>
> >>> Ross
> >>>
> >>>
> >>>
> >>
> >>
> >>
> >>
> >>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#95153): https://lists.openembedded.org/g/openembedded-devel/message/95153
> Mute This Topic: https://lists.openembedded.org/mt/88678231/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Markus Volk Jan. 28, 2022, 5:54 p.m. UTC | #8
inspect_tool has a dependency on readline. That is pulled in 
automatically but should we also add it like this to make clear it is 
needed here?

PACKAGECONFIG[inspect_tool] = 
"-Dinspect_tool=true,-Dinspect_tool=false,readline"

Am 28.01.22 um 18:43 schrieb Khem Raj:
> On Fri, Jan 28, 2022 at 9:42 AM Markus Volk <f_l_k@t-online.de> wrote:
>> Like this ?
>>
>> PACKAGECONFIG:append:class-native =
>> "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests','', d)}"
>>
>> or just with
>>
>> EXTRA_OEMESON = "-Dtests=false" ?
>>
> you cant control ptest distro feature here so its better to remove
> that packageconfig and just set
>
> EXTRA_OEMESON += "-Dtests=false"
>> Am 28.01.22 um 18:38 schrieb Khem Raj:
>>> On Fri, Jan 28, 2022 at 9:35 AM Markus Volk <f_l_k@t-online.de> wrote:
>>>> https://github.com/openembedded/meta-openembedded/blob/aa22894fa352986a62c4530ad8facd8868b2e535/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb#L24
>>>>
>>>> Doesn't this line explicitly disable tests until DISTRO_FEATURE ptests
>>>> is set ?
>>> yes but it means we think that tests do work when ptest feature is
>>> enabled which is not true. So it should be disabled even for distros
>>> enabling ptest feature.
>>>
>>>> Am 28.01.22 um 18:15 schrieb Ross Burton:
>>>>> +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,python3-dbusmock-native"
>>>>>
>>>>> You don't install the tests, so this serves no purpose.
>>>>>
>>>>> Just set -Dtests=false explicitly, unless you install the tests and do the ptest integration.
>>>>>
>>>>> Also the dbusmock test in folks is broken, it should be cross-aware.  As you can't check for target python modules it should avoid the check in cross builds.
>>>>>
>>>>> Ross
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#95155): https://lists.openembedded.org/g/openembedded-devel/message/95155
>> Mute This Topic: https://lists.openembedded.org/mt/88678231/3618223
>> Group Owner: openembedded-devel+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [f_l_k@t-online.de]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
Khem Raj Jan. 28, 2022, 6:28 p.m. UTC | #9
On Fri, Jan 28, 2022 at 9:54 AM Markus Volk <f_l_k@t-online.de> wrote:
>
> inspect_tool has a dependency on readline. That is pulled in
> automatically but should we also add it like this to make clear it is
> needed here?
>
> PACKAGECONFIG[inspect_tool] =
> "-Dinspect_tool=true,-Dinspect_tool=false,readline"
>

hmm it is hard dependency on readline ? or will it also work with
libedit provided editline
it would be good to check and perhaps have both the options, some
policies may prefer
to not use readline. Regardless if it supports both, adding a
dependency is preferred in packageconfig
if thats the feature needing that dependency.

> Am 28.01.22 um 18:43 schrieb Khem Raj:
> > On Fri, Jan 28, 2022 at 9:42 AM Markus Volk <f_l_k@t-online.de> wrote:
> >> Like this ?
> >>
> >> PACKAGECONFIG:append:class-native =
> >> "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests','', d)}"
> >>
> >> or just with
> >>
> >> EXTRA_OEMESON = "-Dtests=false" ?
> >>
> > you cant control ptest distro feature here so its better to remove
> > that packageconfig and just set
> >
> > EXTRA_OEMESON += "-Dtests=false"
> >> Am 28.01.22 um 18:38 schrieb Khem Raj:
> >>> On Fri, Jan 28, 2022 at 9:35 AM Markus Volk <f_l_k@t-online.de> wrote:
> >>>> https://github.com/openembedded/meta-openembedded/blob/aa22894fa352986a62c4530ad8facd8868b2e535/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb#L24
> >>>>
> >>>> Doesn't this line explicitly disable tests until DISTRO_FEATURE ptests
> >>>> is set ?
> >>> yes but it means we think that tests do work when ptest feature is
> >>> enabled which is not true. So it should be disabled even for distros
> >>> enabling ptest feature.
> >>>
> >>>> Am 28.01.22 um 18:15 schrieb Ross Burton:
> >>>>> +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,python3-dbusmock-native"
> >>>>>
> >>>>> You don't install the tests, so this serves no purpose.
> >>>>>
> >>>>> Just set -Dtests=false explicitly, unless you install the tests and do the ptest integration.
> >>>>>
> >>>>> Also the dbusmock test in folks is broken, it should be cross-aware.  As you can't check for target python modules it should avoid the check in cross builds.
> >>>>>
> >>>>> Ross
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>
> >>
> >>
> >>
> >>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#95156): https://lists.openembedded.org/g/openembedded-devel/message/95156
> Mute This Topic: https://lists.openembedded.org/mt/88678231/1997914
> Group Owner: openembedded-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Markus Volk Jan. 29, 2022, 2:21 p.m. UTC | #10
https://github.com/GNOME/folks/search?q=readline

looks like a hard dependency to me

Am 28.01.22 um 19:28 schrieb Khem Raj:
> On Fri, Jan 28, 2022 at 9:54 AM Markus Volk <f_l_k@t-online.de> wrote:
>> inspect_tool has a dependency on readline. That is pulled in
>> automatically but should we also add it like this to make clear it is
>> needed here?
>>
>> PACKAGECONFIG[inspect_tool] =
>> "-Dinspect_tool=true,-Dinspect_tool=false,readline"
>>
> hmm it is hard dependency on readline ? or will it also work with
> libedit provided editline
> it would be good to check and perhaps have both the options, some
> policies may prefer
> to not use readline. Regardless if it supports both, adding a
> dependency is preferred in packageconfig
> if thats the feature needing that dependency.
>
>> Am 28.01.22 um 18:43 schrieb Khem Raj:
>>> On Fri, Jan 28, 2022 at 9:42 AM Markus Volk <f_l_k@t-online.de> wrote:
>>>> Like this ?
>>>>
>>>> PACKAGECONFIG:append:class-native =
>>>> "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests','', d)}"
>>>>
>>>> or just with
>>>>
>>>> EXTRA_OEMESON = "-Dtests=false" ?
>>>>
>>> you cant control ptest distro feature here so its better to remove
>>> that packageconfig and just set
>>>
>>> EXTRA_OEMESON += "-Dtests=false"
>>>> Am 28.01.22 um 18:38 schrieb Khem Raj:
>>>>> On Fri, Jan 28, 2022 at 9:35 AM Markus Volk <f_l_k@t-online.de> wrote:
>>>>>> https://github.com/openembedded/meta-openembedded/blob/aa22894fa352986a62c4530ad8facd8868b2e535/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb#L24
>>>>>>
>>>>>> Doesn't this line explicitly disable tests until DISTRO_FEATURE ptests
>>>>>> is set ?
>>>>> yes but it means we think that tests do work when ptest feature is
>>>>> enabled which is not true. So it should be disabled even for distros
>>>>> enabling ptest feature.
>>>>>
>>>>>> Am 28.01.22 um 18:15 schrieb Ross Burton:
>>>>>>> +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,python3-dbusmock-native"
>>>>>>>
>>>>>>> You don't install the tests, so this serves no purpose.
>>>>>>>
>>>>>>> Just set -Dtests=false explicitly, unless you install the tests and do the ptest integration.
>>>>>>>
>>>>>>> Also the dbusmock test in folks is broken, it should be cross-aware.  As you can't check for target python modules it should avoid the check in cross builds.
>>>>>>>
>>>>>>> Ross
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>>>
>>
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#95158): https://lists.openembedded.org/g/openembedded-devel/message/95158
>> Mute This Topic: https://lists.openembedded.org/mt/88678231/3618223
>> Group Owner: openembedded-devel+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [f_l_k@t-online.de]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>

Patch

diff --git a/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb b/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
index 7dc72f822..d331dfdb5 100644
--- a/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
+++ b/meta-gnome/recipes-connectivity/folks/folks_0.15.4.bb
@@ -3,11 +3,8 @@  LICENSE = "LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
 
 DEPENDS = " \
-    dbus-glib \
     glib-2.0 \
     libgee \
-    libxml2 \
-    python3-dbusmock-native \
 "
 
 GNOMEBASEBUILDCLASS = "meson"
@@ -17,15 +14,15 @@  REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
 GIR_MESON_OPTION = ""
 
 PACKAGECONFIG[eds] = "-Deds_backend=true,-Deds_backend=false,evolution-data-server"
-PACKAGECONFIG[bluez] = "-Dbluez_backend=true,-Dbluez_backend=false"
-PACKAGECONFIG[ofono] = "-Dofono_backend=true,-Dofono_backend=false"
-PACKAGECONFIG[telepathy] = "-Dtelepathy_backend=true,-Dtelepathy_backend=false,telepathy-glib"
-PACKAGECONFIG[import_tool] = "-Dimport_tool=true,-Dimport_tool=false"
+PACKAGECONFIG[bluez] = "-Dbluez_backend=true,-Dbluez_backend=false,evolution-data-server"
+PACKAGECONFIG[ofono] = "-Deds_backend=true -Dofono_backend=true,-Dofono_backend=false,evolution-data-server"
+PACKAGECONFIG[telepathy] = "-Dtelepathy_backend=true,-Dtelepathy_backend=false,telepathy-glib dbus-glib"
+PACKAGECONFIG[import_tool] = "-Dimport_tool=true,-Dimport_tool=false,libxml2"
 PACKAGECONFIG[inspect_tool] = "-Dinspect_tool=true,-Dinspect_tool=false"
+PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,python3-dbusmock-native"
 
-PACKAGECONFIG ??= ""
+PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'tests','', d)}"
 
 inherit pkgconfig gnomebase gettext gobject-introspection vala features_check
 
 SRC_URI[archive.sha256sum] = "e71099afc9e88fad4e757ae134bc3fd63e12b901ad62b0ed5536afb79124af5f"
-