diff options
Diffstat (limited to 'meta/recipes-multimedia/pulseaudio')
6 files changed, 142 insertions, 266 deletions
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc index 9a95e7c65b..bfd57c8e21 100644 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc @@ -1,9 +1,11 @@ SUMMARY = "Sound server for Linux and Unix-like operating systems" +DESCRIPTION = "A general purpose sound server intended to run as a middleware \ +between your applications and your hardware devices, either using ALSA or OSS." HOMEPAGE = "http://www.pulseaudio.org" -AUTHOR = "Lennart Poettering" SECTION = "libs/multimedia" -# Most of PulseAudio code is under LGPLv2.1+. There are a few exceptions: +# Most of PulseAudio code is under LGPL-2.1-or-later. There are a few +# exceptions: # # The "adrian" echo canceller variant has code under a non-standard permissive # license. See src/modules/echo-cancel/adrian-license.txt for details. This @@ -37,12 +39,13 @@ SECTION = "libs/multimedia" # The dependency with the most complicated licensing considerations is libdbus. # When PACKAGECONFIG[dbus] is enabled (like it is by default), libdbus will be # used by both the server and the client library (libpulse). Does this affect -# applications that use libpulse? It should be also noted that libdbus is -# dual-licensed: either GPLv2+ or AFL-2 terms apply. Whose decision is it which -# of the licenses apply? What a mess. Some people hold the view that libdbus is -# a system library that is covered by the "special exception" in GPLv2's -# section 3, and therefore libdbus's GPL license doesn't affect PulseAudio. -LICENSE = "LGPLv2.1+ & MIT & BSD-3-Clause" +# applications that use libpulse? It should also be noted that libdbus is +# dual-licensed: either GPL-2.0-or-later or AFL-2.0 terms apply. Whose decision +# is it which of the licenses apply? What a mess. Some people hold the view that +# libdbus is a system library that is covered by the "special exception" in +# GPLv2's section 3, and therefore libdbus's GPL license doesn't affect +# PulseAudio. +LICENSE = "LGPL-2.1-or-later & MIT & BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5cd938de1a7a53ea5adac38cc10c39 \ file://GPL;md5=4325afd396febcb659c36b49533135d4 \ @@ -56,85 +59,75 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=0e5cd938de1a7a53ea5adac38cc10c39 \ file://src/pulsecore/filter/biquad.h;beginline=1;endline=4;md5=6d46d1365206528a20137355924233c1 \ " -DEPENDS = "libatomic-ops libsndfile1 libtool intltool-native" +# libtool is needed for libltdl, used in module loading. +DEPENDS = "m4-native libatomic-ops libsndfile1 libtool" # optional DEPENDS += "udev alsa-lib glib-2.0" DEPENDS += "speexdsp libxml-parser-perl-native libcap" -inherit autotools bash-completion pkgconfig useradd gettext perlnative bluetooth systemd manpages gsettings +inherit bash-completion meson pkgconfig useradd gettext perlnative systemd manpages gsettings # *.desktop rules wont be generated during configure and build will fail # if using --disable-nls USE_NLS = "yes" -EXTRA_OECONF = "\ - --disable-hal-compat \ - --disable-orc \ - --enable-tcpwrap=no \ - --with-access-group=audio \ - --disable-openssl \ - --with-database=simple \ - --without-zsh-completion-dir \ - --with-udev-rules-dir=`pkg-config --variable=udevdir udev`/rules.d \ - ac_cv_header_valgrind_memcheck_h=no \ - --disable-tests \ - --disable-running-from-build-tree \ +EXTRA_OEMESON = "\ + -Dhal-compat=false \ + -Dorc=disabled \ + -Daccess_group=audio \ + -Dopenssl=disabled \ + -Ddatabase=simple \ + -Dzshcompletiondir=no \ + -Dudevrulesdir=`pkg-config --variable=udevdir udev`/rules.d \ + -Dvalgrind=disabled \ + -Dtests=false \ + -Drunning-from-build-tree=false \ " # soxr (the SoX Resampler library) doesn't seem to be currently packaged in # oe-core nor meta-oe, so let's not add a PACKAGECONFIG entry for it for now. -EXTRA_OECONF += "--without-soxr" +EXTRA_OEMESON += "-Dsoxr=disabled" # The FFTW dependency (for module-equalizer-sink) was removed in commit # ddbd713293 without explaining why it was not made a PACKAGECONFIG item # instead. Oh well, let's keep it disabled until someone expresses some # interest in having it enabled. -EXTRA_OECONF += "--without-fftw" +EXTRA_OEMESON += "-Dfftw=disabled" # The "adrian" echo canceller implementation has a non-standard license # (src/modules/echo-cancel/adrian-license.txt). It's a permissive license, so # the licensing terms are probably not problematic, but it would be an extra # hassle to add the license to OE-Core's set of licenses. The canceller isn't # very good anyway, better alternatives exist (such as the webrtc canceller). -EXTRA_OECONF += "--disable-adrian-aec" +EXTRA_OEMESON += "-Dadrian-aec=false" -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \ +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', '3g', 'ofono', '', d)} \ ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd x11', d)} \ dbus gsettings \ " -PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" -PACKAGECONFIG[bluez4] = "--enable-bluez4,--disable-bluez4,bluez4 sbc" -PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5 sbc" -PACKAGECONFIG[gconf] = "--enable-gconf,--disable-gconf,gconf" -PACKAGECONFIG[gsettings] = "--enable-gsettings,--disable-gsettings,glib-2.0-native glib-2.0" -PACKAGECONFIG[ofono] = "--enable-bluez5-ofono-headset,--disable-bluez5-ofono-headset,ofono" -PACKAGECONFIG[gtk] = "--enable-gtk3,--disable-gtk3,gtk+3" -PACKAGECONFIG[systemd] = "--enable-systemd-daemon --enable-systemd-login --enable-systemd-journal --with-systemduserunitdir=${systemd_user_unitdir},--disable-systemd-daemon --disable-systemd-login --disable-systemd-journal,systemd" -PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxtst libice libsm libxcb" -PACKAGECONFIG[avahi] = "--enable-avahi,--disable-avahi,avahi" -PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" +PACKAGECONFIG[dbus] = "-Ddbus=enabled,-Ddbus=disabled,dbus" +PACKAGECONFIG[bluez5] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc" +PACKAGECONFIG[gsettings] = "-Dgsettings=enabled,-Dgsettings=disabled,glib-2.0-native glib-2.0" +PACKAGECONFIG[ofono] = "-Dbluez5-ofono-headset=true,-Dbluez5-ofono-headset=false,ofono" +PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3" +PACKAGECONFIG[systemd] = "-Dsystemd=enabled -Dsystemduserunitdir=${systemd_user_unitdir},-Dsystemd=disabled,systemd" +PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,virtual/libx11 libxtst libice libsm libxcb" +PACKAGECONFIG[avahi] = "-Davahi=enabled,-Davahi=disabled,avahi" +PACKAGECONFIG[jack] = "-Djack=enabled,-Djack=disabled,jack" # Since many embedded systems don't have non-root users, it's useful to be # able to use pulseaudio autospawn for root as well. PACKAGECONFIG[autospawn-for-root] = ",,," -PACKAGECONFIG[lirc] = "--enable-lirc,--disable-lirc,lirc" -PACKAGECONFIG[webrtc] = "--enable-webrtc-aec,--disable-webrtc-aec,webrtc-audio-processing" -PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," -PACKAGECONFIG[manpages] = "--enable-manpages, --disable-manpages, " - -EXTRA_OECONF_append_arm = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}" -EXTRA_OECONF_append_armeb = "${@bb.utils.contains("TUNE_FEATURES", "neon", "", " --enable-neon-opt=no", d)}" - +PACKAGECONFIG[lirc] = "-Dlirc=enabled,-Dlirc=disabled,lirc" +PACKAGECONFIG[webrtc] = "-Dwebrtc-aec=enabled,-Dwebrtc-aec=disabled,webrtc-audio-processing" +PACKAGECONFIG[ipv6] = "-Dipv6=true,-Dipv6=false," +PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false," +PACKAGECONFIG[oss-output] = "-Doss-output=enabled,-Doss-output=disabled," export TARGET_PFPU = "${TARGET_FPU}" -# TODO: Use more fine granular version -#OE_LT_RPATH_ALLOW=":${libdir}/pulse-0.9:" -OE_LT_RPATH_ALLOW = "any" -OE_LT_RPATH_ALLOW[export]="1" - set_cfg_value () { sed -i -e "s/\(; *\)\?$2 =.*/$2 = $3/" "$1" if ! grep -q "^$2 = $3\$" "$1"; then @@ -142,80 +135,101 @@ set_cfg_value () { fi } -do_compile_append () { +do_compile:append () { if ${@bb.utils.contains('PACKAGECONFIG', 'autospawn-for-root', 'true', 'false', d)}; then - set_cfg_value src/client.conf allow-autospawn-for-root yes + set_cfg_value src/pulse/client.conf allow-autospawn-for-root yes fi } -do_install_append() { +do_install:append() { install -d ${D}${sysconfdir}/default/volatiles - install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/volatiles.04_pulse + install -m 0644 ${UNPACKDIR}/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 \ +GROUPADD_PARAM:pulseaudio-server = "--system pulse" +USERADD_PARAM:pulseaudio-server = "--system --home /var/run/pulse \ --no-create-home --shell /bin/false \ --groups audio,pulse --gid pulse pulse" +PACKAGES =+ "\ + libpulse \ + libpulse-mainloop-glib \ + libpulse-simple \ + libpulsecommon \ + libpulsecore \ + ${PN}-pa-info \ + ${PN}-server \ + ${PN}-misc \ + " + # The console-kit module is included here explicitly so bitbake can map to the # 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 =+ "libpulsecore libpulsecommon libpulse libpulse-simple libpulse-mainloop-glib \ - pulseaudio-server pulseaudio-misc ${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'pulseaudio-module-console-kit', '', d)}" +PACKAGES =+ "${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'pulseaudio-module-console-kit', '', d)}" #upgrade path: -RREPLACES_pulseaudio-server = "libpulse-bin libpulse-conf" +RREPLACES:pulseaudio-server = "libpulse-bin libpulse-conf" PACKAGES_DYNAMIC += "^pulseaudio-lib-.* ^pulseaudio-module-.*" -FILES_libpulsecore = "${libdir}/pulseaudio/libpulsecore*.so" -FILES_libpulsecommon = "${libdir}/pulseaudio/libpulsecommon*.so" +FILES:libpulsecore = "${libdir}/pulseaudio/libpulsecore*.so" +FILES:libpulsecommon = "${libdir}/pulseaudio/libpulsecommon*.so" # client.conf configures the behaviour of libpulse, so it belongs in the same # package. -FILES_libpulse = "${libdir}/libpulse.so.* ${sysconfdir}/pulse/client.conf" +FILES:libpulse = "${libdir}/libpulse.so.* ${sysconfdir}/pulse/client.conf" -FILES_libpulse-simple = "${libdir}/libpulse-simple.so.*" -FILES_libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*" +FILES:libpulse-simple = "${libdir}/libpulse-simple.so.*" +FILES:libpulse-mainloop-glib = "${libdir}/libpulse-mainloop-glib.so.*" -FILES_${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala ${libdir}/cmake" -FILES_${PN}-conf = "${sysconfdir}" -FILES_${PN}-bin += "${sysconfdir}/default/volatiles/volatiles.04_pulse" -FILES_${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules */*/udev/rules.d/*.rules ${systemd_user_unitdir}/*" +FILES:${PN}-dev += "${libdir}/pulse-${PV}/modules/*.la ${datadir}/vala" +FILES:${PN}-bin += "${sysconfdir}/default/volatiles/04_pulse" +FILES:${PN}-pa-info = "${bindir}/pa-info" +FILES:${PN}-server = "${bindir}/pulseaudio ${bindir}/start-* ${sysconfdir} ${bindir}/pactl */udev/rules.d/*.rules */*/udev/rules.d/*.rules ${systemd_user_unitdir}/*" +FILES:${PN}-server += "${datadir}/dbus-1/system.d/pulseaudio-system.conf" #SYSTEMD_PACKAGES = "${PN}-server" -SYSTEMD_SERVICE_${PN}-server = "pulseaudio.service" +SYSTEMD_SERVICE:${PN}-server = "pulseaudio.service" -FILES_${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so" +FILES:${PN}-misc = "${bindir}/* ${libdir}/pulseaudio/libpulsedsp.so" # Allow the pulseaudio package to be created empty as a placeholder (-dbg and -dev depend on it) -FILES_${PN} = "" -ALLOW_EMPTY_${PN} = "1" +FILES:${PN} = "" +ALLOW_EMPTY:${PN} = "1" -CONFFILES_libpulse = "${sysconfdir}/pulse/client.conf" +CONFFILES:libpulse = "${sysconfdir}/pulse/client.conf" -CONFFILES_pulseaudio-server = "\ +CONFFILES:pulseaudio-server = "\ ${sysconfdir}/pulse/default.pa \ ${sysconfdir}/pulse/daemon.conf \ ${sysconfdir}/pulse/system.pa \ " -pkg_postinst_${PN}-server() { +pkg_postinst:${PN}-server() { if [ -z "$D" ] && [ -e ${sysconfdir}/init.d/populate-volatile.sh ] ; then ${sysconfdir}/init.d/populate-volatile.sh update fi } -python populate_packages_prepend() { - plugindir = d.expand('${libdir}/pulse-${PV}/modules/') +python populate_packages:prepend() { + plugindir = d.expand('${libdir}/pulseaudio/modules/') do_split_packages(d, plugindir, r'^module-(.*)\.so$', '${PN}-module-%s', 'PulseAudio module for %s', extra_depends='', prepend=True) do_split_packages(d, plugindir, r'^lib(.*)\.so$', '${PN}-lib-%s', 'PulseAudio library for %s', extra_depends='', prepend=True) } -RDEPENDS_pulseaudio-server = " \ +# pa-info is a bash script that collects information about the audio setup. +# It's primarily useful for attaching an information dump when reporting bugs. +RDEPENDS:${PN}-pa-info = "\ + alsa-utils-amixer \ + alsa-utils-aplay \ + alsa-utils-scripts \ + bash \ + ${PN}-server \ + " + +RDEPENDS:pulseaudio-server = " \ pulseaudio-module-filter-apply \ pulseaudio-module-filter-heuristics \ pulseaudio-module-udev-detect \ @@ -241,28 +255,30 @@ RDEPENDS_pulseaudio-server = " \ # 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 += "alsa-plugins-pulseaudio-conf" +RDEPENDS:pulseaudio-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', 'x11', 'consolekit', '', d)}" -RDEPENDS_pulseaudio-misc += "pulseaudio-module-cli-protocol-unix" +RDEPENDS:pulseaudio-module-console-kit =+ "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit x11', 'consolekit', '', d)}" +RDEPENDS:pulseaudio-misc += "pulseaudio-module-cli-protocol-unix" -FILES_${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer" -FILES_${PN}-module-gconf += "${libexecdir}/pulse/gconf-helper" +FILES:${PN}-module-alsa-card += "${datadir}/pulseaudio/alsa-mixer" GSETTINGS_PACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'gsettings', '${PN}-module-gsettings', '', d)}" -FILES_${PN}-module-gsettings += "${libexecdir}/pulse/gsettings-helper ${datadir}/GConf/gsettings ${datadir}/glib-2.0/schemas" +FILES:${PN}-module-gsettings += "${libexecdir}/pulse/gsettings-helper ${datadir}/GConf/gsettings ${datadir}/glib-2.0/schemas" # The console-kit module is good to have on X11 systems (it keeps PulseAudio # 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:pulseaudio-server += "\ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '\ - pulseaudio-module-console-kit \ pulseaudio-module-device-manager \ pulseaudio-module-x11-cork-request \ pulseaudio-module-x11-publish \ pulseaudio-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), \ + '', d)}" diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch new file mode 100644 index 0000000000..b1a43bd7f0 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch @@ -0,0 +1,26 @@ +From 4ee244d0824e772ab35abb0f9df5e8088e16fc5d Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Mon, 26 Apr 2021 19:30:40 +0200 +Subject: [PATCH] doxygen/meson.build: remove dependency on doxygen binary + +New meson refuses to complete confuguration if doxygen is absent +even if this target is never actually run. As we never run it, +let's remove it, until upstream and/or meson figure out that it's +optional and should be treated as such. + +Upstream-Status: Inappropriate [needs proper upstream fix] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + doxygen/meson.build | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/doxygen/meson.build b/doxygen/meson.build +index afc0e49..df55c83 100644 +--- a/doxygen/meson.build ++++ b/doxygen/meson.build +@@ -6,5 +6,3 @@ doxygen_conf = configure_file( + configuration : cdata, + ) + +-run_target('doxygen', +- command : ['doxygen', doxygen_conf]) diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-introduce-a-special-build-flag-to-explicitly-disable.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-introduce-a-special-build-flag-to-explicitly-disable.patch deleted file mode 100644 index b7e9cd8c5c..0000000000 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-introduce-a-special-build-flag-to-explicitly-disable.patch +++ /dev/null @@ -1,161 +0,0 @@ -From 36feb98e568221e24286615730888d5f6ff323f0 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Fri, 7 Dec 2018 15:12:38 +0800 -Subject: [PATCH] introduce a special build flag to explicitly disables running - from build tree - -It is helpful to improve reproducibility build [1] since -PA_SRCDIR/PA_BUILDDIR contains build path, disable running -from build tree could drop these macros at precompilation. - -[1] https://reproducible-builds.org/ - -Upstream-Status: Submitted [pulseaudio-discuss@lists.freedesktop.org] -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> -Acked-by: Tanu Kaskinen <tanuk@iki.fi> ---- - configure.ac | 10 ++++++++++ - src/daemon/daemon-conf.c | 4 +++- - src/daemon/main.c | 6 ++++++ - src/modules/alsa/alsa-mixer.c | 4 ++++ - src/modules/gconf/module-gconf.c | 2 +- - src/modules/gsettings/module-gsettings.c | 2 +- - src/pulsecore/core-util.c | 4 +++- - 7 files changed, 28 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index c9c414f..8b345ef 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -998,6 +998,16 @@ AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"], - AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1]) - AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])) - -+#### Running from build tree (optional) #### -+ -+AC_ARG_ENABLE([running-from-build-tree], -+ AS_HELP_STRING([--disable-running-from-build-tree],[Disable running from build tree])) -+ -+AS_IF([test "x$enable_running_from_build_tree" != "xno"], -+ AC_DEFINE([HAVE_RUNNING_FROM_BUILD_TREE], 1, [Have running from build tree])) -+ -+AC_SUBST(HAVE_RUNNING_FROM_BUILD_TREE) -+ - #### TCP wrappers (optional) #### - - AC_ARG_ENABLE([tcpwrap], -diff --git a/src/daemon/daemon-conf.c b/src/daemon/daemon-conf.c -index 9883126..f01eff4 100644 ---- a/src/daemon/daemon-conf.c -+++ b/src/daemon/daemon-conf.c -@@ -155,12 +155,14 @@ pa_daemon_conf *pa_daemon_conf_new(void) { - c->dl_search_path = pa_sprintf_malloc("%s" PA_PATH_SEP "lib" PA_PATH_SEP "pulse-%d.%d" PA_PATH_SEP "modules", - pa_win32_get_toplevel(NULL), PA_MAJOR, PA_MINOR); - #else -+#ifdef HAVE_RUNNING_FROM_BUILD_TREE - if (pa_run_from_build_tree()) { - pa_log_notice("Detected that we are run from the build tree, fixing search path."); - c->dl_search_path = pa_xstrdup(PA_BUILDDIR); - } else -- c->dl_search_path = pa_xstrdup(PA_DLSEARCHPATH); - #endif -+ c->dl_search_path = pa_xstrdup(PA_DLSEARCHPATH); -+#endif //Endof #ifdef OS_IS_WIN32 - - return c; - } -diff --git a/src/daemon/main.c b/src/daemon/main.c -index c80fa94..1e00388 100644 ---- a/src/daemon/main.c -+++ b/src/daemon/main.c -@@ -932,6 +932,12 @@ int main(int argc, char *argv[]) { - - pa_log_debug("Running in VM: %s", pa_yes_no(pa_running_in_vm())); - -+#ifdef HAVE_RUNNING_FROM_BUILD_TREE -+ pa_log_debug("Running from build tree: %s", pa_yes_no(pa_run_from_build_tree())); -+#else -+ pa_log_debug("Running from build tree: no"); -+#endif -+ - #ifdef __OPTIMIZE__ - pa_log_debug("Optimized build: yes"); - #else -diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c -index a524d6d..670f646 100644 ---- a/src/modules/alsa/alsa-mixer.c -+++ b/src/modules/alsa/alsa-mixer.c -@@ -2571,9 +2571,11 @@ static int path_verify(pa_alsa_path *p) { - } - - static const char *get_default_paths_dir(void) { -+#ifdef HAVE_RUNNING_FROM_BUILD_TREE - if (pa_run_from_build_tree()) - return PA_SRCDIR "/modules/alsa/mixer/paths/"; - else -+#endif - return PA_ALSA_PATHS_DIR; - } - -@@ -4455,7 +4457,9 @@ pa_alsa_profile_set* pa_alsa_profile_set_new(const char *fname, const pa_channel - fname = "default.conf"; - - fn = pa_maybe_prefix_path(fname, -+#ifdef HAVE_RUNNING_FROM_BUILD_TREE - pa_run_from_build_tree() ? PA_SRCDIR "/modules/alsa/mixer/profile-sets/" : -+#endif - PA_ALSA_PROFILE_SETS_DIR); - - r = pa_config_parse(fn, NULL, items, NULL, false, ps); -diff --git a/src/modules/gconf/module-gconf.c b/src/modules/gconf/module-gconf.c -index c0f4dde..76a1f19 100644 ---- a/src/modules/gconf/module-gconf.c -+++ b/src/modules/gconf/module-gconf.c -@@ -51,7 +51,7 @@ int pa__init(pa_module*m) { - u->buf_fill = 0; - - if ((u->fd = pa_start_child_for_read( --#if defined(__linux__) && !defined(__OPTIMIZE__) -+#if defined(__linux__) && defined(HAVE_RUNNING_FROM_BUILD_TREE) - pa_run_from_build_tree() ? PA_BUILDDIR "/gconf-helper" : - #endif - PA_GCONF_HELPER, NULL, &u->pid)) < 0) -diff --git a/src/modules/gsettings/module-gsettings.c b/src/modules/gsettings/module-gsettings.c -index 330eca1..209c857 100644 ---- a/src/modules/gsettings/module-gsettings.c -+++ b/src/modules/gsettings/module-gsettings.c -@@ -51,7 +51,7 @@ int pa__init(pa_module*m) { - u->buf_fill = 0; - - if ((u->fd = pa_start_child_for_read( --#if defined(__linux__) && !defined(__OPTIMIZE__) -+#if defined(__linux__) && defined(HAVE_RUNNING_FROM_BUILD_TREE) - pa_run_from_build_tree() ? PA_BUILDDIR "/gsettings-helper" : - #endif - PA_GSETTINGS_HELPER, NULL, &u->pid)) < 0) -diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c -index 64e9f21..f85dd20 100644 ---- a/src/pulsecore/core-util.c -+++ b/src/pulsecore/core-util.c -@@ -3436,15 +3436,17 @@ void pa_reset_personality(void) { - } - - bool pa_run_from_build_tree(void) { -- char *rp; - static bool b = false; - -+#ifdef HAVE_RUNNING_FROM_BUILD_TREE -+ char *rp; - PA_ONCE_BEGIN { - if ((rp = pa_readlink("/proc/self/exe"))) { - b = pa_startswith(rp, PA_BUILDDIR); - pa_xfree(rp); - } - } PA_ONCE_END; -+#endif - - return b; - } --- -2.7.4 - diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch index 43add75db4..48f0492177 100644 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch @@ -13,18 +13,18 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/daemon/main.c b/src/daemon/main.c -index c80fa94..75496be 100644 +index 30ef499..5c3abf0 100644 --- a/src/daemon/main.c +++ b/src/daemon/main.c -@@ -908,7 +908,7 @@ int main(int argc, char *argv[]) { +@@ -916,7 +916,7 @@ int main(int argc, char *argv[]) { + pa_set_env_and_record("PULSE_SYSTEM", conf->system_instance ? "1" : "0"); pa_log_info("This is PulseAudio %s", PACKAGE_VERSION); - pa_log_debug("Compilation host: %s", CANONICAL_HOST); - pa_log_debug("Compilation CFLAGS: %s", PA_CFLAGS); + pa_log_debug("Compilation CFLAGS: ***"); #ifdef HAVE_LIBSAMPLERATE pa_log_warn("Compiled with DEPRECATED libsamplerate support!"); -- -2.7.4 +2.25.1 diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb deleted file mode 100644 index c020fbd4f6..0000000000 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio_12.2.bb +++ /dev/null @@ -1,15 +0,0 @@ -require pulseaudio.inc - -SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ - file://0001-client-conf-Add-allow-autospawn-for-root.patch \ - file://0001-introduce-a-special-build-flag-to-explicitly-disable.patch \ - file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \ - file://volatiles.04_pulse \ - " -SRC_URI[md5sum] = "c42f1f1465e8df9859d023dc184734bf" -SRC_URI[sha256sum] = "809668ffc296043779c984f53461c2b3987a45b7a25eb2f0a1d11d9f23ba4055" - -do_compile_prepend() { - mkdir -p ${S}/libltdl - cp ${STAGING_LIBDIR}/libltdl* ${S}/libltdl -} diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_17.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_17.0.bb new file mode 100644 index 0000000000..6c172b4ec7 --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_17.0.bb @@ -0,0 +1,10 @@ +require pulseaudio.inc + +SRC_URI = "http://www.freedesktop.org/software/pulseaudio/releases/${BP}.tar.xz \ + file://0001-client-conf-Add-allow-autospawn-for-root.patch \ + file://0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch \ + file://volatiles.04_pulse \ + file://0001-doxygen-meson.build-remove-dependency-on-doxygen-bin.patch \ + " +SRC_URI[sha256sum] = "053794d6671a3e397d849e478a80b82a63cb9d8ca296bd35b73317bb5ceb87b5" +UPSTREAM_CHECK_REGEX = "pulseaudio-(?P<pver>\d+(\.(?!99)\d+)+)\.tar" |