diff mbox series

pulseaudio: add m4-native to DEPENDS

Message ID 20220715110533.4008485-1-ross.burton@arm.com
State New
Headers show
Series pulseaudio: add m4-native to DEPENDS | expand

Commit Message

Ross Burton July 15, 2022, 11:05 a.m. UTC
Normally m4-native ends up in the sysroot via the toolchain, but if a
non-standard toolchain is used them m4-native may not be installed.

However Pulseaudio explicitly checks for m4 in the meson.build, so add
it to DEPENDS.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Khem Raj July 15, 2022, 5:05 p.m. UTC | #1
On 7/15/22 7:05 AM, Ross Burton wrote:
> Normally m4-native ends up in the sysroot via the toolchain, but if a
> non-standard toolchain is used them m4-native may not be installed.
> 
> However Pulseaudio explicitly checks for m4 in the meson.build, so add
> it to DEPENDS.

I think default toolchain dependencies should be emulated by external 
toolchains too. Or perhaps m4-native should be dropped from the internal 
toolchain too.

> 
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>   meta/recipes-multimedia/pulseaudio/pulseaudio.inc | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> index 602d7263ce8..6055a9ebadb 100644
> --- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> @@ -61,7 +61,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5cd938de1a7a53ea5adac38cc10c39 \
>   "
>   
>   # libtool is needed for libltdl, used in module loading.
> -DEPENDS = "libatomic-ops libsndfile1 libtool"
> +DEPENDS = "m4-native libatomic-ops libsndfile1 libtool"
>   # optional
>   DEPENDS += "udev alsa-lib glib-2.0"
>   DEPENDS += "speexdsp libxml-parser-perl-native libcap"
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#168055): https://lists.openembedded.org/g/openembedded-core/message/168055
> Mute This Topic: https://lists.openembedded.org/mt/92398180/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Richard Purdie July 15, 2022, 5:10 p.m. UTC | #2
On Fri, 2022-07-15 at 13:05 -0400, Khem Raj wrote:
> 
> On 7/15/22 7:05 AM, Ross Burton wrote:
> > Normally m4-native ends up in the sysroot via the toolchain, but if a
> > non-standard toolchain is used them m4-native may not be installed.
> > 
> > However Pulseaudio explicitly checks for m4 in the meson.build, so add
> > it to DEPENDS.
> 
> I think default toolchain dependencies should be emulated by external 
> toolchains too. Or perhaps m4-native should be dropped from the internal 
> toolchain too.

See the section in OE-Core's layer.conf:

"""
# Avoid adding bison-native to the sysroot without a specific
# dependency in the recipe. This means indirect dependencies
# (e.g. X -> Y -> binutils-cross -> bison-native) no longer meet the
# dependency incidentally. This improves determinism and avoids build
# failures when people switch to external toolchains.
# libarchive only needs e2fsprogs headers at buildtime
SSTATE_EXCLUDEDEPS_SYSROOT += "\
    .*->autoconf-native \
    .*->automake-native \
    .*->bison-native \
"""

If we add m4-native to that list, it would do that. Just need someone
to work through all the failures it might generate.

Cheers,

Richard
Khem Raj July 15, 2022, 5:16 p.m. UTC | #3
On 7/15/22 1:10 PM, Richard Purdie wrote:
> On Fri, 2022-07-15 at 13:05 -0400, Khem Raj wrote:
>>
>> On 7/15/22 7:05 AM, Ross Burton wrote:
>>> Normally m4-native ends up in the sysroot via the toolchain, but if a
>>> non-standard toolchain is used them m4-native may not be installed.
>>>
>>> However Pulseaudio explicitly checks for m4 in the meson.build, so add
>>> it to DEPENDS.
>>
>> I think default toolchain dependencies should be emulated by external
>> toolchains too. Or perhaps m4-native should be dropped from the internal
>> toolchain too.
> 
> See the section in OE-Core's layer.conf:
> 
> """
> # Avoid adding bison-native to the sysroot without a specific
> # dependency in the recipe. This means indirect dependencies
> # (e.g. X -> Y -> binutils-cross -> bison-native) no longer meet the
> # dependency incidentally. This improves determinism and avoids build
> # failures when people switch to external toolchains.
> # libarchive only needs e2fsprogs headers at buildtime
> SSTATE_EXCLUDEDEPS_SYSROOT += "\
>      .*->autoconf-native \
>      .*->automake-native \
>      .*->bison-native \
> """
> 
> If we add m4-native to that list, it would do that. Just need someone
> to work through all the failures it might generate.

interesting. m4 is mostly used by autotools based packages barring few 
exception like pulseaudio, Maybe moving m4 dependency to autotools class 
might be able to address most of fallouts.

> 
> Cheers,
> 
> Richard
diff mbox series

Patch

diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index 602d7263ce8..6055a9ebadb 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -61,7 +61,7 @@  LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5cd938de1a7a53ea5adac38cc10c39 \
 "
 
 # libtool is needed for libltdl, used in module loading.
-DEPENDS = "libatomic-ops libsndfile1 libtool"
+DEPENDS = "m4-native libatomic-ops libsndfile1 libtool"
 # optional
 DEPENDS += "udev alsa-lib glib-2.0"
 DEPENDS += "speexdsp libxml-parser-perl-native libcap"