[master,kirkstone] gstreamer1.0-plugins-good: Fix libsoup dependency

Message ID 20220425150104.1001838-1-crg7475@mailbox.org
State Accepted, archived
Commit 7f66a3123c9ce77e9af538009fc51bf190703433
Headers show
Series [master,kirkstone] gstreamer1.0-plugins-good: Fix libsoup dependency | expand

Commit Message

Carlos Rafael Giani April 25, 2022, 3:01 p.m. UTC
Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
---
 .../gstreamer/gstreamer1.0-plugins-good_1.20.1.bb          | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Khem Raj April 25, 2022, 3:39 p.m. UTC | #1
On 4/25/22 8:01 AM, Carlos Rafael Giani via lists.openembedded.org wrote:
> Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
> ---
>   .../gstreamer/gstreamer1.0-plugins-good_1.20.1.bb          | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
> index 08ff5a0bb5..1f61d9a10e 100644
> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
> @@ -49,7 +49,12 @@ PACKAGECONFIG[libv4l2]    = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-
>   PACKAGECONFIG[mpg123]     = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
>   PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
>   PACKAGECONFIG[qt5]        = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
> -PACKAGECONFIG[soup]       = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
> +# Starting with version 1.20, the GStreamer soup plugin loads libsoup with dlopen()
> +# instead of linking to it. And instead of using the default libsoup C headers, it
> +# uses its own stub header. Consequently, objdump will not show the libsoup .so as
> +# a dependency, and libsoup won't be added to an image. Fix this by setting libsoup
> +# as RDEPEND instead of DEPEND.
> +PACKAGECONFIG[soup]       = "-Dsoup=enabled,-Dsoup=disabled,,libsoup-2.4"

We have soup3 as well. I wonder if that should also be an option ?

>   PACKAGECONFIG[speex]      = "-Dspeex=enabled,-Dspeex=disabled,speex"
>   PACKAGECONFIG[rpi]        = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
>   PACKAGECONFIG[taglib]     = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#164825): https://lists.openembedded.org/g/openembedded-core/message/164825
> Mute This Topic: https://lists.openembedded.org/mt/90686912/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Carlos Rafael Giani April 25, 2022, 4:19 p.m. UTC | #2
According to https://gstreamer.freedesktop.org/releases/1.20/ , libsoup 
3 support isn't stable:

 > Runtime compatibility support for libsoup2 and libsoup3 (libsoup3 
support experimental)

So I wouldn't add it just yet.


On 25.04.22 17:39, Khem Raj wrote:
>
>
> On 4/25/22 8:01 AM, Carlos Rafael Giani via lists.openembedded.org wrote:
>> Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
>> ---
>>   .../gstreamer/gstreamer1.0-plugins-good_1.20.1.bb          | 7 ++++++-
>>   1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git 
>> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb 
>> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
>> index 08ff5a0bb5..1f61d9a10e 100644
>> --- 
>> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
>> +++ 
>> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
>> @@ -49,7 +49,12 @@ PACKAGECONFIG[libv4l2]    = 
>> "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-
>>   PACKAGECONFIG[mpg123]     = 
>> "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
>>   PACKAGECONFIG[pulseaudio] = 
>> "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
>>   PACKAGECONFIG[qt5]        = "-Dqt5=enabled,-Dqt5=disabled,qtbase 
>> qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
>> -PACKAGECONFIG[soup]       = 
>> "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
>> +# Starting with version 1.20, the GStreamer soup plugin loads 
>> libsoup with dlopen()
>> +# instead of linking to it. And instead of using the default libsoup 
>> C headers, it
>> +# uses its own stub header. Consequently, objdump will not show the 
>> libsoup .so as
>> +# a dependency, and libsoup won't be added to an image. Fix this by 
>> setting libsoup
>> +# as RDEPEND instead of DEPEND.
>> +PACKAGECONFIG[soup]       = 
>> "-Dsoup=enabled,-Dsoup=disabled,,libsoup-2.4"
>
> We have soup3 as well. I wonder if that should also be an option ?
>
>>   PACKAGECONFIG[speex]      = "-Dspeex=enabled,-Dspeex=disabled,speex"
>>   PACKAGECONFIG[rpi]        = 
>> "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
>>   PACKAGECONFIG[taglib]     = 
>> "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
>>
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#164825): 
>> https://lists.openembedded.org/g/openembedded-core/message/164825
>> Mute This Topic: https://lists.openembedded.org/mt/90686912/1997914
>> Group Owner: openembedded-core+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
>> [raj.khem@gmail.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
Khem Raj April 25, 2022, 4:41 p.m. UTC | #3
On Mon, Apr 25, 2022 at 9:19 AM Carlos Rafael Giani via
lists.openembedded.org <crg7475=mailbox.org@lists.openembedded.org>
wrote:
>
> According to https://gstreamer.freedesktop.org/releases/1.20/ , libsoup 3 support isn't stable:
>
> > Runtime compatibility support for libsoup2 and libsoup3 (libsoup3 support experimental)
>
> So I wouldn't add it just yet.

fair enough.
>
>
> On 25.04.22 17:39, Khem Raj wrote:
>
>
>
> On 4/25/22 8:01 AM, Carlos Rafael Giani via lists.openembedded.org wrote:
>
> Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
> ---
>   .../gstreamer/gstreamer1.0-plugins-good_1.20.1.bb          | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
> index 08ff5a0bb5..1f61d9a10e 100644
> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
> @@ -49,7 +49,12 @@ PACKAGECONFIG[libv4l2]    = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-
>   PACKAGECONFIG[mpg123]     = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
>   PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
>   PACKAGECONFIG[qt5]        = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
> -PACKAGECONFIG[soup]       = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
> +# Starting with version 1.20, the GStreamer soup plugin loads libsoup with dlopen()
> +# instead of linking to it. And instead of using the default libsoup C headers, it
> +# uses its own stub header. Consequently, objdump will not show the libsoup .so as
> +# a dependency, and libsoup won't be added to an image. Fix this by setting libsoup
> +# as RDEPEND instead of DEPEND.
> +PACKAGECONFIG[soup]       = "-Dsoup=enabled,-Dsoup=disabled,,libsoup-2.4"
>
>
> We have soup3 as well. I wonder if that should also be an option ?
>
>   PACKAGECONFIG[speex]      = "-Dspeex=enabled,-Dspeex=disabled,speex"
>   PACKAGECONFIG[rpi]        = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
>   PACKAGECONFIG[taglib]     = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
>
>
>
>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#164834): https://lists.openembedded.org/g/openembedded-core/message/164834
> Mute This Topic: https://lists.openembedded.org/mt/90686912/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>

Patch

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
index 08ff5a0bb5..1f61d9a10e 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.1.bb
@@ -49,7 +49,12 @@  PACKAGECONFIG[libv4l2]    = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-
 PACKAGECONFIG[mpg123]     = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
 PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
 PACKAGECONFIG[qt5]        = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
-PACKAGECONFIG[soup]       = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4"
+# Starting with version 1.20, the GStreamer soup plugin loads libsoup with dlopen()
+# instead of linking to it. And instead of using the default libsoup C headers, it
+# uses its own stub header. Consequently, objdump will not show the libsoup .so as
+# a dependency, and libsoup won't be added to an image. Fix this by setting libsoup
+# as RDEPEND instead of DEPEND.
+PACKAGECONFIG[soup]       = "-Dsoup=enabled,-Dsoup=disabled,,libsoup-2.4"
 PACKAGECONFIG[speex]      = "-Dspeex=enabled,-Dspeex=disabled,speex"
 PACKAGECONFIG[rpi]        = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
 PACKAGECONFIG[taglib]     = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"