diff mbox series

pulseaudio: replace "pulseaudio-" with "${PN}-"

Message ID 20240319161026.2900153-1-daniel.ottiger@schindler.com
State New
Headers show
Series pulseaudio: replace "pulseaudio-" with "${PN}-" | expand

Commit Message

Daniel Ottiger March 19, 2024, 4:10 p.m. UTC
avoid preferred provider warnings when compiling pulseaudio natively.

Enabling native compilation was done in a separate bbappend file for pulseadio:
----
BBCLASSEXTEND += "native"
----

pulseaudio is a dependency of vorbis-tools,
from which we like to use the native version of oggenc
in order to convert wav to ogg files as part of the yocto build.

Signed-off-by: Daniel Ottiger <daniel.ottiger@schindler.com>
---
 .../pulseaudio/pulseaudio.inc                 | 78 +++++++++----------
 1 file changed, 39 insertions(+), 39 deletions(-)

--
2.39.2


*****************************************************************
The information contained in this message is intended only for use of the individual(s) named above and may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you are not the intended recipient of this message you are hereby notified that you must not use, disseminate, copy it in any form or take any action in reliance of it. If you have received this message in error please delete it and any copies of it and notify the sender immediately.
*****************************************************************

Comments

Alexander Kanavin March 19, 2024, 4:14 p.m. UTC | #1
Wait, what do vorbis tools need pulseaudio for? It’s an odd dependency, can
you check?

Alex

On Tue 19. Mar 2024 at 17.10, Daniel Ottiger via lists.openembedded.org
<daniel.ottiger=schindler.com@lists.openembedded.org> wrote:

> avoid preferred provider warnings when compiling pulseaudio natively.
>
> Enabling native compilation was done in a separate bbappend file for
> pulseadio:
> ----
> BBCLASSEXTEND += "native"
> ----
>
> pulseaudio is a dependency of vorbis-tools,
> from which we like to use the native version of oggenc
> in order to convert wav to ogg files as part of the yocto build.
>
> Signed-off-by: Daniel Ottiger <daniel.ottiger@schindler.com>
> ---
>  .../pulseaudio/pulseaudio.inc                 | 78 +++++++++----------
>  1 file changed, 39 insertions(+), 39 deletions(-)
>
> diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> index ae16056d243..85515b3581f 100644
> --- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> @@ -145,9 +145,9 @@ do_install:append() {
>         install -m 0644 ${WORKDIR}/volatiles.04_pulse
> ${D}${sysconfdir}/default/volatiles/04_pulse
>  }
>
> -USERADD_PACKAGES = "pulseaudio-server"
> -GROUPADD_PARAM:pulseaudio-server = "--system pulse"
> -USERADD_PARAM:pulseaudio-server = "--system --home /var/run/pulse \
> +USERADD_PACKAGES = "${PN}-server"
> +GROUPADD_PARAM:${PN}-server = "--system pulse"
> +USERADD_PARAM:${PN}-server = "--system --home /var/run/pulse \
>                                --no-create-home --shell /bin/false \
>                                --groups audio,pulse --gid pulse pulse"
>
> @@ -166,12 +166,12 @@ PACKAGES =+ "\
>  # RDEPENDS we define for it in this recipe, and thereby ensure that when
>  # adding the console-kit module to an image, we also get the necessary
>  # consolekit package produced.
> -PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'dbus',
> 'pulseaudio-module-console-kit', '', d)}"
> +PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'dbus',
> '${PN}-module-console-kit', '', d)}"
>
>  #upgrade path:
> -RREPLACES:pulseaudio-server = "libpulse-bin libpulse-conf"
> +RREPLACES:${PN}-server = "libpulse-bin libpulse-conf"
>
> -PACKAGES_DYNAMIC += "^pulseaudio-lib-.* ^pulseaudio-module-.*"
> +PACKAGES_DYNAMIC += "^${PN}-lib-.* ^${PN}-module-.*"
>
>  FILES:libpulsecore = "${libdir}/pulseaudio/libpulsecore*.so"
>  FILES:libpulsecommon = "${libdir}/pulseaudio/libpulsecommon*.so"
> @@ -200,7 +200,7 @@ ALLOW_EMPTY:${PN} = "1"
>
>  CONFFILES:libpulse = "${sysconfdir}/pulse/client.conf"
>
> -CONFFILES:pulseaudio-server = "\
> +CONFFILES:${PN}-server = "\
>    ${sysconfdir}/pulse/default.pa \
>    ${sysconfdir}/pulse/daemon.conf \
>    ${sysconfdir}/pulse/system.pa \
> @@ -228,38 +228,38 @@ RDEPENDS:${PN}-pa-info = "\
>                            ${PN}-server \
>                            "
>
> -RDEPENDS:pulseaudio-server = " \
> -    pulseaudio-module-filter-apply \
> -    pulseaudio-module-filter-heuristics \
> -    pulseaudio-module-udev-detect \
> -    pulseaudio-module-null-sink \
> -    pulseaudio-module-device-restore \
> -    pulseaudio-module-stream-restore \
> -    pulseaudio-module-card-restore \
> -    pulseaudio-module-augment-properties \
> -    pulseaudio-module-detect \
> -    pulseaudio-module-alsa-sink \
> -    pulseaudio-module-alsa-source \
> -    pulseaudio-module-alsa-card \
> -    pulseaudio-module-native-protocol-unix \
> -    pulseaudio-module-default-device-restore \
> -    pulseaudio-module-intended-roles \
> -    pulseaudio-module-rescue-streams \
> -    pulseaudio-module-always-sink \
> -    pulseaudio-module-suspend-on-idle \
> -    pulseaudio-module-position-event-sounds \
> -    pulseaudio-module-role-cork \
> -    pulseaudio-module-switch-on-port-available"
> +RDEPENDS:${PN}-server = " \
> +    ${PN}-module-filter-apply \
> +    ${PN}-module-filter-heuristics \
> +    ${PN}-module-udev-detect \
> +    ${PN}-module-null-sink \
> +    ${PN}-module-device-restore \
> +    ${PN}-module-stream-restore \
> +    ${PN}-module-card-restore \
> +    ${PN}-module-augment-properties \
> +    ${PN}-module-detect \
> +    ${PN}-module-alsa-sink \
> +    ${PN}-module-alsa-source \
> +    ${PN}-module-alsa-card \
> +    ${PN}-module-native-protocol-unix \
> +    ${PN}-module-default-device-restore \
> +    ${PN}-module-intended-roles \
> +    ${PN}-module-rescue-streams \
> +    ${PN}-module-always-sink \
> +    ${PN}-module-suspend-on-idle \
> +    ${PN}-module-position-event-sounds \
> +    ${PN}-module-role-cork \
> +    ${PN}-module-switch-on-port-available"
>
>  # If the server is installed, it's usually desirable to make ALSA
> applications
>  # use PulseAudio. alsa-plugins-pulseaudio-conf will install the
> configuration
>  # that makes the PulseAudio plugin the default ALSA device.
> -RDEPENDS:pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES',
> 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"
> +RDEPENDS:${PN}-server += "${@bb.utils.contains('DISTRO_FEATURES',
> 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"
>
>  # pulseaudio-module-console-kit is built whenever dbus is enabled by
> PACKAGECONFIG
>  # but consolekit depends on libx11 and is available only for DISTRO with
> x11 in DISTRO_FEATURES
> -RDEPENDS:pulseaudio-module-console-kit =+
> "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit x11', 'consolekit', '',
> d)}"
> -RDEPENDS:pulseaudio-misc += "pulseaudio-module-cli-protocol-unix"
> +RDEPENDS:${PN}-module-console-kit =+
> "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit x11', 'consolekit', '',
> d)}"
> +RDEPENDS:${PN}-misc += "${PN}-module-cli-protocol-unix"
>
>  FILES:${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"
>
> @@ -270,14 +270,14 @@ FILES:${PN}-module-gsettings +=
> "${libexecdir}/pulse/gsettings-helper ${datadir}
>  # running for the duration of the user login session). The device-manager
> and
>  # x11-* modules are referenced from the start-pulseaudio-x11 script, so
> those
>  # modules must be installed when X11 is enabled.
> -RDEPENDS:pulseaudio-server += "\
> +RDEPENDS:${PN}-server += "\
>          ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '\
> -                pulseaudio-module-device-manager \
> -                pulseaudio-module-x11-cork-request \
> -                pulseaudio-module-x11-publish \
> -                pulseaudio-module-x11-xsmp \
> +                ${PN}-module-device-manager \
> +                ${PN}-module-x11-cork-request \
> +                ${PN}-module-x11-publish \
> +                ${PN}-module-x11-xsmp \
>          ', '', d)}"
>
> -RDEPENDS:pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES',
> 'x11', \
> -                                  bb.utils.contains('DISTRO_FEATURES',
> 'systemd', 'pulseaudio-module-systemd-login',
> 'pulseaudio-module-console-kit', d), \
> +RDEPENDS:${PN}-server += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', \
> +                                  bb.utils.contains('DISTRO_FEATURES',
> 'systemd', '${PN}-module-systemd-login', '${PN}-module-console-kit', d), \
>                                    '', d)}"
> --
> 2.39.2
>
>
> *****************************************************************
> The information contained in this message is intended only for use of the
> individual(s) named above and may contain confidential, proprietary or
> legally privileged information. No confidentiality or privilege is waived
> or lost by any mistransmission. If you are not the intended recipient of
> this message you are hereby notified that you must not use, disseminate,
> copy it in any form or take any action in reliance of it. If you have
> received this message in error please delete it and any copies of it and
> notify the sender immediately.
> *****************************************************************
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#197324):
> https://lists.openembedded.org/g/openembedded-core/message/197324
> Mute This Topic: https://lists.openembedded.org/mt/105026949/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Daniel Ottiger March 19, 2024, 4:30 p.m. UTC | #2
If I remove my bbappend file for enabling native compilation, and I try to build "vorbis-tools-native" I get the following error:

bitbake vorbis-tools-native
Parsing recipes: 100% |#############################################################################################################################################################################| Time: 0:00:05
Parsing of 3691 .bb files complete (0 cached, 3691 parsed). 5918 targets, 1137 skipped, 0 masked, 0 errors.
Removing 1 recipes from the x86_64 sysroot: 100% |##################################################################################################################################################| Time: 0:00:00
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing PROVIDES 'pulseaudio-native' (but virtual:native:/home/ottigeda/workspace/yocto-builder-scarthgap/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb DEPENDS on or otherwise requires it). Close matches:
  pseudo-native
  pulseaudio
  usbredir-native

In case this is important, I also have meta-openembedded layer (https://github.com/openembedded/meta-openembedded) added.
Maybe the dependency is from there ?

Daniel
Alexander Kanavin March 19, 2024, 4:38 p.m. UTC | #3
Please dig a little deeper, and inspect the recipes for vorbis tools and
libao and their respective source trees. I’m just saying that converting
compressed audio files shouldn’t be requiring a sound server and it would
be good to understand why it does.

Alex

On Tue 19. Mar 2024 at 17.30, Daniel Ottiger <daniel.ottiger@schindler.com>
wrote:

> If I remove my bbappend file for enabling native compilation, and I try to
> build "vorbis-tools-native" I get the following error:
>
> bitbake vorbis-tools-native
> Parsing recipes: 100%
> |#############################################################################################################################################################################|
> Time: 0:00:05
> Parsing of 3691 .bb files complete (0 cached, 3691 parsed). 5918 targets,
> 1137 skipped, 0 masked, 0 errors.
> Removing 1 recipes from the x86_64 sysroot: 100%
> |##################################################################################################################################################|
> Time: 0:00:00
> NOTE: Resolving any missing task queue dependencies
> ERROR: Nothing PROVIDES 'pulseaudio-native' (but
> virtual:native:/home/ottigeda/workspace/yocto-builder-scarthgap/meta-openembedded/meta-multimedia/recipes-multimedia/libao/
> libao_1.2.0.bb DEPENDS on or otherwise requires it). Close matches:
>   pseudo-native
>   pulseaudio
>   usbredir-native
>
> In case this is important, I also have meta-openembedded layer (
> https://github.com/openembedded/meta-openembedded) added.
> Maybe the dependency is from there ?
>
> Daniel
> ------------------------------
> *From:* Alexander Kanavin <alex.kanavin@gmail.com>
> *Sent:* 19 March 2024 17:14
> *To:* Daniel Ottiger <daniel.ottiger@schindler.com>
> *Cc:* openembedded-core@lists.openembedded.org <
> openembedded-core@lists.openembedded.org>
> *Subject:* [EXTERNAL] Re: [OE-core] [PATCH] pulseaudio: replace
> "pulseaudio-" with "${PN}-"
>
> Wait, what do vorbis tools need pulseaudio for? It’s an odd dependency,
> can you check?
>
> Alex
>
> On Tue 19. Mar 2024 at 17.10, Daniel Ottiger via lists.openembedded.org
> <daniel.ottiger=schindler.com@lists.openembedded.org> wrote:
>
> avoid preferred provider warnings when compiling pulseaudio natively.
>
> Enabling native compilation was done in a separate bbappend file for
> pulseadio:
> ----
> BBCLASSEXTEND += "native"
> ----
>
> pulseaudio is a dependency of vorbis-tools,
> from which we like to use the native version of oggenc
> in order to convert wav to ogg files as part of the yocto build.
>
> Signed-off-by: Daniel Ottiger <daniel.ottiger@schindler.com>
> ---
>  .../pulseaudio/pulseaudio.inc                 | 78 +++++++++----------
>  1 file changed, 39 insertions(+), 39 deletions(-)
>
> diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> index ae16056d243..85515b3581f 100644
> --- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> @@ -145,9 +145,9 @@ do_install:append() {
>         install -m 0644 ${WORKDIR}/volatiles.04_pulse
> ${D}${sysconfdir}/default/volatiles/04_pulse
>  }
>
> -USERADD_PACKAGES = "pulseaudio-server"
> -GROUPADD_PARAM:pulseaudio-server = "--system pulse"
> -USERADD_PARAM:pulseaudio-server = "--system --home /var/run/pulse \
> +USERADD_PACKAGES = "${PN}-server"
> +GROUPADD_PARAM:${PN}-server = "--system pulse"
> +USERADD_PARAM:${PN}-server = "--system --home /var/run/pulse \
>                                --no-create-home --shell /bin/false \
>                                --groups audio,pulse --gid pulse pulse"
>
> @@ -166,12 +166,12 @@ PACKAGES =+ "\
>  # RDEPENDS we define for it in this recipe, and thereby ensure that when
>  # adding the console-kit module to an image, we also get the necessary
>  # consolekit package produced.
> -PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'dbus',
> 'pulseaudio-module-console-kit', '', d)}"
> +PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'dbus',
> '${PN}-module-console-kit', '', d)}"
>
>  #upgrade path:
> -RREPLACES:pulseaudio-server = "libpulse-bin libpulse-conf"
> +RREPLACES:${PN}-server = "libpulse-bin libpulse-conf"
>
> -PACKAGES_DYNAMIC += "^pulseaudio-lib-.* ^pulseaudio-module-.*"
> +PACKAGES_DYNAMIC += "^${PN}-lib-.* ^${PN}-module-.*"
>
>  FILES:libpulsecore = "${libdir}/pulseaudio/libpulsecore*.so"
>  FILES:libpulsecommon = "${libdir}/pulseaudio/libpulsecommon*.so"
> @@ -200,7 +200,7 @@ ALLOW_EMPTY:${PN} = "1"
>
>  CONFFILES:libpulse = "${sysconfdir}/pulse/client.conf"
>
> -CONFFILES:pulseaudio-server = "\
> +CONFFILES:${PN}-server = "\
>    ${sysconfdir}/pulse/default.pa \
>    ${sysconfdir}/pulse/daemon.conf \
>    ${sysconfdir}/pulse/system.pa \
> @@ -228,38 +228,38 @@ RDEPENDS:${PN}-pa-info = "\
>                            ${PN}-server \
>                            "
>
> -RDEPENDS:pulseaudio-server = " \
> -    pulseaudio-module-filter-apply \
> -    pulseaudio-module-filter-heuristics \
> -    pulseaudio-module-udev-detect \
> -    pulseaudio-module-null-sink \
> -    pulseaudio-module-device-restore \
> -    pulseaudio-module-stream-restore \
> -    pulseaudio-module-card-restore \
> -    pulseaudio-module-augment-properties \
> -    pulseaudio-module-detect \
> -    pulseaudio-module-alsa-sink \
> -    pulseaudio-module-alsa-source \
> -    pulseaudio-module-alsa-card \
> -    pulseaudio-module-native-protocol-unix \
> -    pulseaudio-module-default-device-restore \
> -    pulseaudio-module-intended-roles \
> -    pulseaudio-module-rescue-streams \
> -    pulseaudio-module-always-sink \
> -    pulseaudio-module-suspend-on-idle \
> -    pulseaudio-module-position-event-sounds \
> -    pulseaudio-module-role-cork \
> -    pulseaudio-module-switch-on-port-available"
> +RDEPENDS:${PN}-server = " \
> +    ${PN}-module-filter-apply \
> +    ${PN}-module-filter-heuristics \
> +    ${PN}-module-udev-detect \
> +    ${PN}-module-null-sink \
> +    ${PN}-module-device-restore \
> +    ${PN}-module-stream-restore \
> +    ${PN}-module-card-restore \
> +    ${PN}-module-augment-properties \
> +    ${PN}-module-detect \
> +    ${PN}-module-alsa-sink \
> +    ${PN}-module-alsa-source \
> +    ${PN}-module-alsa-card \
> +    ${PN}-module-native-protocol-unix \
> +    ${PN}-module-default-device-restore \
> +    ${PN}-module-intended-roles \
> +    ${PN}-module-rescue-streams \
> +    ${PN}-module-always-sink \
> +    ${PN}-module-suspend-on-idle \
> +    ${PN}-module-position-event-sounds \
> +    ${PN}-module-role-cork \
> +    ${PN}-module-switch-on-port-available"
>
>  # If the server is installed, it's usually desirable to make ALSA
> applications
>  # use PulseAudio. alsa-plugins-pulseaudio-conf will install the
> configuration
>  # that makes the PulseAudio plugin the default ALSA device.
> -RDEPENDS:pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES',
> 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"
> +RDEPENDS:${PN}-server += "${@bb.utils.contains('DISTRO_FEATURES',
> 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"
>
>  # pulseaudio-module-console-kit is built whenever dbus is enabled by
> PACKAGECONFIG
>  # but consolekit depends on libx11 and is available only for DISTRO with
> x11 in DISTRO_FEATURES
> -RDEPENDS:pulseaudio-module-console-kit =+
> "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit x11', 'consolekit', '',
> d)}"
> -RDEPENDS:pulseaudio-misc += "pulseaudio-module-cli-protocol-unix"
> +RDEPENDS:${PN}-module-console-kit =+
> "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit x11', 'consolekit', '',
> d)}"
> +RDEPENDS:${PN}-misc += "${PN}-module-cli-protocol-unix"
>
>  FILES:${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"
>
> @@ -270,14 +270,14 @@ FILES:${PN}-module-gsettings +=
> "${libexecdir}/pulse/gsettings-helper ${datadir}
>  # running for the duration of the user login session). The device-manager
> and
>  # x11-* modules are referenced from the start-pulseaudio-x11 script, so
> those
>  # modules must be installed when X11 is enabled.
> -RDEPENDS:pulseaudio-server += "\
> +RDEPENDS:${PN}-server += "\
>          ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '\
> -                pulseaudio-module-device-manager \
> -                pulseaudio-module-x11-cork-request \
> -                pulseaudio-module-x11-publish \
> -                pulseaudio-module-x11-xsmp \
> +                ${PN}-module-device-manager \
> +                ${PN}-module-x11-cork-request \
> +                ${PN}-module-x11-publish \
> +                ${PN}-module-x11-xsmp \
>          ', '', d)}"
>
> -RDEPENDS:pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES',
> 'x11', \
> -                                  bb.utils.contains('DISTRO_FEATURES',
> 'systemd', 'pulseaudio-module-systemd-login',
> 'pulseaudio-module-console-kit', d), \
> +RDEPENDS:${PN}-server += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', \
> +                                  bb.utils.contains('DISTRO_FEATURES',
> 'systemd', '${PN}-module-systemd-login', '${PN}-module-console-kit', d), \
>                                    '', d)}"
> --
> 2.39.2
>
>
> *****************************************************************
> The information contained in this message is intended only for use of the
> individual(s) named above and may contain confidential, proprietary or
> legally privileged information. No confidentiality or privilege is waived
> or lost by any mistransmission. If you are not the intended recipient of
> this message you are hereby notified that you must not use, disseminate,
> copy it in any form or take any action in reliance of it. If you have
> received this message in error please delete it and any copies of it and
> notify the sender immediately.
> *****************************************************************
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#197324):
> https://lists.openembedded.org/g/openembedded-core/message/197324
> Mute This Topic: https://lists.openembedded.org/mt/105026949/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
> *****************************************************************
> The information contained in this message is intended only for use of the
> individual(s) named above and may contain confidential, proprietary or
> legally privileged information. No confidentiality or privilege is waived
> or lost by any mistransmission. If you are not the intended recipient of
> this message you are hereby notified that you must not use, disseminate,
> copy it in any form or take any action in reliance of it. If you have
> received this message in error please delete it and any copies of it and
> notify the sender immediately.
> *****************************************************************
>
Daniel Ottiger March 19, 2024, 5:11 p.m. UTC | #4
Sure I try as good as I can:

pulseaudio is part of my DISTRO_FEATURES, therefore "libao" depends on pulseaudio.

As far as I understand that is because in
meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
I find this lines:

PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)}"
PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"

In addition vorbis-tools depends on libao, because in
meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb
I find this lines:

PACKAGECONFIG ??= "flac ogg123"
PACKAGECONFIG[flac] = ",--without-flac,flac,libflac"
PACKAGECONFIG[speex] = ",--without-speex,speex,speex"
PACKAGECONFIG[ogg123] = "--enable-ogg123,--disable-ogg123,libao curl"

Therefore if I would like to build
vorbis-tools-native it requires libao-native which then requires pulseaudio-native, at least in my case.

Since I do not know those projects (vorbis-tools, libao) well enough, I cannot tell if this dependencies are really required or not.
Of course I would be happy if I can work without pulseaudio for this.
One solution might be to remove it from my DISTRO_FEATURES, but I cannot see how I can do this when I need it on my target.

This is based on this commit of meta-openembedded repository:

commit a8310f7f31acdf273a3f51a75c74cc957375426e (HEAD -> scarthgap, yoctoproject/scarthgap, yoctoproject/master)
Author: Khem Raj <raj.khem@gmail.com>
Date:   Sat Mar 16 19:52:58 2024 -0700

    layer.conf: Prepare for release, drop nanbield LAYERSERIES

    Signed-off-by: Khem Raj <raj.khem@gmail.com>

Thanks a lot for looking into this.
Daniel
Martin Jansa March 19, 2024, 6:38 p.m. UTC | #5
On Tue, Mar 19, 2024 at 6:11 PM Daniel Ottiger via
lists.openembedded.org
<daniel.ottiger=schindler.com@lists.openembedded.org> wrote:
>
> Sure I try as good as I can:
>
> pulseaudio is part of my DISTRO_FEATURES, therefore "libao" depends on pulseaudio.
>
> As far as I understand that is because in
> meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
> I find this lines:
>
> PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)}"
> PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
> PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
>
> In addition vorbis-tools depends on libao, because in
> meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb
> I find this lines:
>
> PACKAGECONFIG ??= "flac ogg123"
> PACKAGECONFIG[flac] = ",--without-flac,flac,libflac"
> PACKAGECONFIG[speex] = ",--without-speex,speex,speex"
> PACKAGECONFIG[ogg123] = "--enable-ogg123,--disable-ogg123,libao curl"
>
> Therefore if I would like to build
> vorbis-tools-native it requires libao-native which then requires pulseaudio-native, at least in my case.
>
> Since I do not know those projects (vorbis-tools, libao) well enough, I cannot tell if this dependencies are really required or not.

See:
https://github.com/xiph/libao/blob/master/configure.ac#L448
it's possible to build libao without the output plugin for pulseaudio.

> Of course I would be happy if I can work without pulseaudio for this.
> One solution might be to remove it from my DISTRO_FEATURES, but I cannot see how I can do this when I need it on my target.
>
> This is based on this commit of meta-openembedded repository:
>
> commit a8310f7f31acdf273a3f51a75c74cc957375426e (HEAD -> scarthgap, yoctoproject/scarthgap, yoctoproject/master)
> Author: Khem Raj <raj.khem@gmail.com>
> Date:   Sat Mar 16 19:52:58 2024 -0700
>
>     layer.conf: Prepare for release, drop nanbield LAYERSERIES
>
>     Signed-off-by: Khem Raj <raj.khem@gmail.com>
>
> Thanks a lot for looking into this.
> Daniel
>
>
> ________________________________
> From: Alexander Kanavin <alex.kanavin@gmail.com>
> Sent: 19 March 2024 17:38
> To: Daniel Ottiger <daniel.ottiger@schindler.com>
> Cc: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>
> Subject: Re: [EXTERNAL] Re: [OE-core] [PATCH] pulseaudio: replace "pulseaudio-" with "${PN}-"
>
> Please dig a little deeper, and inspect the recipes for vorbis tools and libao and their respective source trees. I’m just saying that converting compressed audio files shouldn’t be requiring a sound server and it would be good to understand why it does.
>
> Alex
>
> On Tue 19. Mar 2024 at 17.30, Daniel Ottiger <daniel.ottiger@schindler.com> wrote:
>
> If I remove my bbappend file for enabling native compilation, and I try to build "vorbis-tools-native" I get the following error:
>
> bitbake vorbis-tools-native
> Parsing recipes: 100% |#############################################################################################################################################################################| Time: 0:00:05
> Parsing of 3691 .bb files complete (0 cached, 3691 parsed). 5918 targets, 1137 skipped, 0 masked, 0 errors.
> Removing 1 recipes from the x86_64 sysroot: 100% |##################################################################################################################################################| Time: 0:00:00
> NOTE: Resolving any missing task queue dependencies
> ERROR: Nothing PROVIDES 'pulseaudio-native' (but virtual:native:/home/ottigeda/workspace/yocto-builder-scarthgap/meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb DEPENDS on or otherwise requires it). Close matches:
>   pseudo-native
>   pulseaudio
>   usbredir-native
>
> In case this is important, I also have meta-openembedded layer (https://github.com/openembedded/meta-openembedded) added.
> Maybe the dependency is from there ?
>
> Daniel
> ________________________________
> From: Alexander Kanavin <alex.kanavin@gmail.com>
> Sent: 19 March 2024 17:14
> To: Daniel Ottiger <daniel.ottiger@schindler.com>
> Cc: openembedded-core@lists.openembedded.org <openembedded-core@lists.openembedded.org>
> Subject: [EXTERNAL] Re: [OE-core] [PATCH] pulseaudio: replace "pulseaudio-" with "${PN}-"
>
> Wait, what do vorbis tools need pulseaudio for? It’s an odd dependency, can you check?
>
> Alex
>
> On Tue 19. Mar 2024 at 17.10, Daniel Ottiger via lists.openembedded.org <daniel.ottiger=schindler.com@lists.openembedded.org> wrote:
>
> avoid preferred provider warnings when compiling pulseaudio natively.
>
> Enabling native compilation was done in a separate bbappend file for pulseadio:
> ----
> BBCLASSEXTEND += "native"
> ----
>
> pulseaudio is a dependency of vorbis-tools,
> from which we like to use the native version of oggenc
> in order to convert wav to ogg files as part of the yocto build.
>
> Signed-off-by: Daniel Ottiger <daniel.ottiger@schindler.com>
> ---
>  .../pulseaudio/pulseaudio.inc                 | 78 +++++++++----------
>  1 file changed, 39 insertions(+), 39 deletions(-)
>
> diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> index ae16056d243..85515b3581f 100644
> --- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
> @@ -145,9 +145,9 @@ do_install:append() {
>         install -m 0644 ${WORKDIR}/volatiles.04_pulse  ${D}${sysconfdir}/default/volatiles/04_pulse
>  }
>
> -USERADD_PACKAGES = "pulseaudio-server"
> -GROUPADD_PARAM:pulseaudio-server = "--system pulse"
> -USERADD_PARAM:pulseaudio-server = "--system --home /var/run/pulse \
> +USERADD_PACKAGES = "${PN}-server"
> +GROUPADD_PARAM:${PN}-server = "--system pulse"
> +USERADD_PARAM:${PN}-server = "--system --home /var/run/pulse \
>                                --no-create-home --shell /bin/false \
>                                --groups audio,pulse --gid pulse pulse"
>
> @@ -166,12 +166,12 @@ PACKAGES =+ "\
>  # RDEPENDS we define for it in this recipe, and thereby ensure that when
>  # adding the console-kit module to an image, we also get the necessary
>  # consolekit package produced.
> -PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'pulseaudio-module-console-kit', '', d)}"
> +PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'dbus', '${PN}-module-console-kit', '', d)}"
>
>  #upgrade path:
> -RREPLACES:pulseaudio-server = "libpulse-bin libpulse-conf"
> +RREPLACES:${PN}-server = "libpulse-bin libpulse-conf"
>
> -PACKAGES_DYNAMIC += "^pulseaudio-lib-.* ^pulseaudio-module-.*"
> +PACKAGES_DYNAMIC += "^${PN}-lib-.* ^${PN}-module-.*"
>
>  FILES:libpulsecore = "${libdir}/pulseaudio/libpulsecore*.so"
>  FILES:libpulsecommon = "${libdir}/pulseaudio/libpulsecommon*.so"
> @@ -200,7 +200,7 @@ ALLOW_EMPTY:${PN} = "1"
>
>  CONFFILES:libpulse = "${sysconfdir}/pulse/client.conf"
>
> -CONFFILES:pulseaudio-server = "\
> +CONFFILES:${PN}-server = "\
>    ${sysconfdir}/pulse/default.pa \
>    ${sysconfdir}/pulse/daemon.conf \
>    ${sysconfdir}/pulse/system.pa \
> @@ -228,38 +228,38 @@ RDEPENDS:${PN}-pa-info = "\
>                            ${PN}-server \
>                            "
>
> -RDEPENDS:pulseaudio-server = " \
> -    pulseaudio-module-filter-apply \
> -    pulseaudio-module-filter-heuristics \
> -    pulseaudio-module-udev-detect \
> -    pulseaudio-module-null-sink \
> -    pulseaudio-module-device-restore \
> -    pulseaudio-module-stream-restore \
> -    pulseaudio-module-card-restore \
> -    pulseaudio-module-augment-properties \
> -    pulseaudio-module-detect \
> -    pulseaudio-module-alsa-sink \
> -    pulseaudio-module-alsa-source \
> -    pulseaudio-module-alsa-card \
> -    pulseaudio-module-native-protocol-unix \
> -    pulseaudio-module-default-device-restore \
> -    pulseaudio-module-intended-roles \
> -    pulseaudio-module-rescue-streams \
> -    pulseaudio-module-always-sink \
> -    pulseaudio-module-suspend-on-idle \
> -    pulseaudio-module-position-event-sounds \
> -    pulseaudio-module-role-cork \
> -    pulseaudio-module-switch-on-port-available"
> +RDEPENDS:${PN}-server = " \
> +    ${PN}-module-filter-apply \
> +    ${PN}-module-filter-heuristics \
> +    ${PN}-module-udev-detect \
> +    ${PN}-module-null-sink \
> +    ${PN}-module-device-restore \
> +    ${PN}-module-stream-restore \
> +    ${PN}-module-card-restore \
> +    ${PN}-module-augment-properties \
> +    ${PN}-module-detect \
> +    ${PN}-module-alsa-sink \
> +    ${PN}-module-alsa-source \
> +    ${PN}-module-alsa-card \
> +    ${PN}-module-native-protocol-unix \
> +    ${PN}-module-default-device-restore \
> +    ${PN}-module-intended-roles \
> +    ${PN}-module-rescue-streams \
> +    ${PN}-module-always-sink \
> +    ${PN}-module-suspend-on-idle \
> +    ${PN}-module-position-event-sounds \
> +    ${PN}-module-role-cork \
> +    ${PN}-module-switch-on-port-available"
>
>  # If the server is installed, it's usually desirable to make ALSA applications
>  # use PulseAudio. alsa-plugins-pulseaudio-conf will install the configuration
>  # that makes the PulseAudio plugin the default ALSA device.
> -RDEPENDS:pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"
> +RDEPENDS:${PN}-server += "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"
>
>  # pulseaudio-module-console-kit is built whenever dbus is enabled by PACKAGECONFIG
>  # but consolekit depends on libx11 and is available only for DISTRO with x11 in DISTRO_FEATURES
> -RDEPENDS:pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit x11', 'consolekit', '', d)}"
> -RDEPENDS:pulseaudio-misc += "pulseaudio-module-cli-protocol-unix"
> +RDEPENDS:${PN}-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit x11', 'consolekit', '', d)}"
> +RDEPENDS:${PN}-misc += "${PN}-module-cli-protocol-unix"
>
>  FILES:${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"
>
> @@ -270,14 +270,14 @@ FILES:${PN}-module-gsettings += "${libexecdir}/pulse/gsettings-helper ${datadir}
>  # running for the duration of the user login session). The device-manager and
>  # x11-* modules are referenced from the start-pulseaudio-x11 script, so those
>  # modules must be installed when X11 is enabled.
> -RDEPENDS:pulseaudio-server += "\
> +RDEPENDS:${PN}-server += "\
>          ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '\
> -                pulseaudio-module-device-manager \
> -                pulseaudio-module-x11-cork-request \
> -                pulseaudio-module-x11-publish \
> -                pulseaudio-module-x11-xsmp \
> +                ${PN}-module-device-manager \
> +                ${PN}-module-x11-cork-request \
> +                ${PN}-module-x11-publish \
> +                ${PN}-module-x11-xsmp \
>          ', '', d)}"
>
> -RDEPENDS:pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', \
> -                                  bb.utils.contains('DISTRO_FEATURES', 'systemd', 'pulseaudio-module-systemd-login', 'pulseaudio-module-console-kit', d), \
> +RDEPENDS:${PN}-server += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', \
> +                                  bb.utils.contains('DISTRO_FEATURES', 'systemd', '${PN}-module-systemd-login', '${PN}-module-console-kit', d), \
>                                    '', d)}"
> --
> 2.39.2
>
>
> *****************************************************************
> The information contained in this message is intended only for use of the individual(s) named above and may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you are not the intended recipient of this message you are hereby notified that you must not use, disseminate, copy it in any form or take any action in reliance of it. If you have received this message in error please delete it and any copies of it and notify the sender immediately.
> *****************************************************************
>
>
>
>
> *****************************************************************
> The information contained in this message is intended only for use of the individual(s) named above and may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you are not the intended recipient of this message you are hereby notified that you must not use, disseminate, copy it in any form or take any action in reliance of it. If you have received this message in error please delete it and any copies of it and notify the sender immediately.
> *****************************************************************
>
>
> *****************************************************************
> The information contained in this message is intended only for use of the individual(s) named above and may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you are not the intended recipient of this message you are hereby notified that you must not use, disseminate, copy it in any form or take any action in reliance of it. If you have received this message in error please delete it and any copies of it and notify the sender immediately.
> *****************************************************************
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#197328): https://lists.openembedded.org/g/openembedded-core/message/197328
> Mute This Topic: https://lists.openembedded.org/mt/105026949/3617156
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [martin.jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin March 19, 2024, 6:47 p.m. UTC | #6
On Tue, 19 Mar 2024 at 18:11, Daniel Ottiger
<daniel.ottiger@schindler.com> wrote:
>
> Sure I try as good as I can:
>
> pulseaudio is part of my DISTRO_FEATURES, therefore "libao" depends on pulseaudio.
>
> As far as I understand that is because in
> meta-openembedded/meta-multimedia/recipes-multimedia/libao/libao_1.2.0.bb
> I find this lines:
>
> PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio', d)}"
> PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
> PACKAGECONFIG[pulseaudio] = "--enable-pulse,--disable-pulse,pulseaudio"
>
> In addition vorbis-tools depends on libao, because in
> meta-openembedded/meta-multimedia/recipes-multimedia/vorbis-tools/vorbis-tools_1.4.2.bb
> I find this lines:
>
> PACKAGECONFIG ??= "flac ogg123"
> PACKAGECONFIG[flac] = ",--without-flac,flac,libflac"
> PACKAGECONFIG[speex] = ",--without-speex,speex,speex"
> PACKAGECONFIG[ogg123] = "--enable-ogg123,--disable-ogg123,libao curl"
>
> Therefore if I would like to build
> vorbis-tools-native it requires libao-native which then requires pulseaudio-native, at least in my case.
>
> Since I do not know those projects (vorbis-tools, libao) well enough, I cannot tell if this dependencies are really required or not.
> Of course I would be happy if I can work without pulseaudio for this.
> One solution might be to remove it from my DISTRO_FEATURES, but I cannot see how I can do this when I need it on my target.

Right, this is more clear now. vorbis-tools contains ogg123, a player
application, that uses pulseaudio through libao. So you can disable
ogg123 by setting PACKAGECONFIG to "" in a bbappend to vorbis-tools,
and the pulseaudio-native dependency will disappear. That will also
speed up your builds.

The initial patch is perhaps correct as well, but you don't need
pulseaudio-native anyway.

Alex
diff mbox series

Patch

diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
index ae16056d243..85515b3581f 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc
@@ -145,9 +145,9 @@  do_install:append() {
        install -m 0644 ${WORKDIR}/volatiles.04_pulse  ${D}${sysconfdir}/default/volatiles/04_pulse
 }

-USERADD_PACKAGES = "pulseaudio-server"
-GROUPADD_PARAM:pulseaudio-server = "--system pulse"
-USERADD_PARAM:pulseaudio-server = "--system --home /var/run/pulse \
+USERADD_PACKAGES = "${PN}-server"
+GROUPADD_PARAM:${PN}-server = "--system pulse"
+USERADD_PARAM:${PN}-server = "--system --home /var/run/pulse \
                               --no-create-home --shell /bin/false \
                               --groups audio,pulse --gid pulse pulse"

@@ -166,12 +166,12 @@  PACKAGES =+ "\
 # RDEPENDS we define for it in this recipe, and thereby ensure that when
 # adding the console-kit module to an image, we also get the necessary
 # consolekit package produced.
-PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'pulseaudio-module-console-kit', '', d)}"
+PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'dbus', '${PN}-module-console-kit', '', d)}"

 #upgrade path:
-RREPLACES:pulseaudio-server = "libpulse-bin libpulse-conf"
+RREPLACES:${PN}-server = "libpulse-bin libpulse-conf"

-PACKAGES_DYNAMIC += "^pulseaudio-lib-.* ^pulseaudio-module-.*"
+PACKAGES_DYNAMIC += "^${PN}-lib-.* ^${PN}-module-.*"

 FILES:libpulsecore = "${libdir}/pulseaudio/libpulsecore*.so"
 FILES:libpulsecommon = "${libdir}/pulseaudio/libpulsecommon*.so"
@@ -200,7 +200,7 @@  ALLOW_EMPTY:${PN} = "1"

 CONFFILES:libpulse = "${sysconfdir}/pulse/client.conf"

-CONFFILES:pulseaudio-server = "\
+CONFFILES:${PN}-server = "\
   ${sysconfdir}/pulse/default.pa \
   ${sysconfdir}/pulse/daemon.conf \
   ${sysconfdir}/pulse/system.pa \
@@ -228,38 +228,38 @@  RDEPENDS:${PN}-pa-info = "\
                           ${PN}-server \
                           "

-RDEPENDS:pulseaudio-server = " \
-    pulseaudio-module-filter-apply \
-    pulseaudio-module-filter-heuristics \
-    pulseaudio-module-udev-detect \
-    pulseaudio-module-null-sink \
-    pulseaudio-module-device-restore \
-    pulseaudio-module-stream-restore \
-    pulseaudio-module-card-restore \
-    pulseaudio-module-augment-properties \
-    pulseaudio-module-detect \
-    pulseaudio-module-alsa-sink \
-    pulseaudio-module-alsa-source \
-    pulseaudio-module-alsa-card \
-    pulseaudio-module-native-protocol-unix \
-    pulseaudio-module-default-device-restore \
-    pulseaudio-module-intended-roles \
-    pulseaudio-module-rescue-streams \
-    pulseaudio-module-always-sink \
-    pulseaudio-module-suspend-on-idle \
-    pulseaudio-module-position-event-sounds \
-    pulseaudio-module-role-cork \
-    pulseaudio-module-switch-on-port-available"
+RDEPENDS:${PN}-server = " \
+    ${PN}-module-filter-apply \
+    ${PN}-module-filter-heuristics \
+    ${PN}-module-udev-detect \
+    ${PN}-module-null-sink \
+    ${PN}-module-device-restore \
+    ${PN}-module-stream-restore \
+    ${PN}-module-card-restore \
+    ${PN}-module-augment-properties \
+    ${PN}-module-detect \
+    ${PN}-module-alsa-sink \
+    ${PN}-module-alsa-source \
+    ${PN}-module-alsa-card \
+    ${PN}-module-native-protocol-unix \
+    ${PN}-module-default-device-restore \
+    ${PN}-module-intended-roles \
+    ${PN}-module-rescue-streams \
+    ${PN}-module-always-sink \
+    ${PN}-module-suspend-on-idle \
+    ${PN}-module-position-event-sounds \
+    ${PN}-module-role-cork \
+    ${PN}-module-switch-on-port-available"

 # If the server is installed, it's usually desirable to make ALSA applications
 # use PulseAudio. alsa-plugins-pulseaudio-conf will install the configuration
 # that makes the PulseAudio plugin the default ALSA device.
-RDEPENDS:pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"
+RDEPENDS:${PN}-server += "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', 'alsa-plugins-pulseaudio-conf', '', d)}"

 # pulseaudio-module-console-kit is built whenever dbus is enabled by PACKAGECONFIG
 # but consolekit depends on libx11 and is available only for DISTRO with x11 in DISTRO_FEATURES
-RDEPENDS:pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit x11', 'consolekit', '', d)}"
-RDEPENDS:pulseaudio-misc += "pulseaudio-module-cli-protocol-unix"
+RDEPENDS:${PN}-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit x11', 'consolekit', '', d)}"
+RDEPENDS:${PN}-misc += "${PN}-module-cli-protocol-unix"

 FILES:${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer"

@@ -270,14 +270,14 @@  FILES:${PN}-module-gsettings += "${libexecdir}/pulse/gsettings-helper ${datadir}
 # running for the duration of the user login session). The device-manager and
 # x11-* modules are referenced from the start-pulseaudio-x11 script, so those
 # modules must be installed when X11 is enabled.
-RDEPENDS:pulseaudio-server += "\
+RDEPENDS:${PN}-server += "\
         ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '\
-                pulseaudio-module-device-manager \
-                pulseaudio-module-x11-cork-request \
-                pulseaudio-module-x11-publish \
-                pulseaudio-module-x11-xsmp \
+                ${PN}-module-device-manager \
+                ${PN}-module-x11-cork-request \
+                ${PN}-module-x11-publish \
+                ${PN}-module-x11-xsmp \
         ', '', d)}"

-RDEPENDS:pulseaudio-server += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', \
-                                  bb.utils.contains('DISTRO_FEATURES', 'systemd', 'pulseaudio-module-systemd-login', 'pulseaudio-module-console-kit', d), \
+RDEPENDS:${PN}-server += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', \
+                                  bb.utils.contains('DISTRO_FEATURES', 'systemd', '${PN}-module-systemd-login', '${PN}-module-console-kit', d), \
                                   '', d)}"