diff options
author | Diego Elio Pettenò <flameeyes@gentoo.org> | 2009-07-16 14:00:05 +0000 |
---|---|---|
committer | Diego Elio Pettenò <flameeyes@gentoo.org> | 2009-07-16 14:00:05 +0000 |
commit | 77dc66dfdffb2ccc56cce3aaabad571a4c5dad39 (patch) | |
tree | 04f16767b95f7d37278d60fc94e00d50f97d24cc /media-sound | |
parent | Sparc stable, bug #278039. (diff) | |
download | gentoo-2-77dc66dfdffb2ccc56cce3aaabad571a4c5dad39.tar.gz gentoo-2-77dc66dfdffb2ccc56cce3aaabad571a4c5dad39.tar.bz2 gentoo-2-77dc66dfdffb2ccc56cce3aaabad571a4c5dad39.zip |
Add patch to fix CVE-2009-1894, see bug #276986.
(Portage version: 2.2_rc33/cvs/Linux x86_64, RepoMan options: --force)
Diffstat (limited to 'media-sound')
9 files changed, 1124 insertions, 1 deletions
diff --git a/media-sound/pulseaudio/ChangeLog b/media-sound/pulseaudio/ChangeLog index ef5da8a802c0..03956d2e962b 100644 --- a/media-sound/pulseaudio/ChangeLog +++ b/media-sound/pulseaudio/ChangeLog @@ -1,6 +1,19 @@ # ChangeLog for media-sound/pulseaudio # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.134 2009/07/03 00:14:32 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.135 2009/07/16 14:00:05 flameeyes Exp $ + +*pulseaudio-0.9.16_rc2-r51 (16 Jul 2009) +*pulseaudio-0.9.16_rc2-r2 (16 Jul 2009) +*pulseaudio-0.9.15-r51 (16 Jul 2009) +*pulseaudio-0.9.15-r2 (16 Jul 2009) + + 16 Jul 2009; Diego E. Pettenò <flameeyes@gentoo.org> + +pulseaudio-0.9.9-r1.ebuild, +files/pulseaudio-0.9.9-CVE-2009-1894.patch, + +pulseaudio-0.9.15-r2.ebuild, +pulseaudio-0.9.15-r51.ebuild, + +files/pulseaudio-0.9.15-CVE-2009-1894.patch, + +pulseaudio-0.9.16_rc2-r2.ebuild, +pulseaudio-0.9.16_rc2-r51.ebuild, + +files/pulseaudio-0.9.16-CVE-2009-1894.patch: + Add patch to fix CVE-2009-1894, see bug #276986. 03 Jul 2009; Diego E. Pettenò <flameeyes@gentoo.org> pulseaudio-0.9.16_rc2-r1.ebuild, pulseaudio-0.9.16_rc2-r50.ebuild, diff --git a/media-sound/pulseaudio/files/pulseaudio-0.9.15-CVE-2009-1894.patch b/media-sound/pulseaudio/files/pulseaudio-0.9.15-CVE-2009-1894.patch new file mode 100644 index 000000000000..729ed9178286 --- /dev/null +++ b/media-sound/pulseaudio/files/pulseaudio-0.9.15-CVE-2009-1894.patch @@ -0,0 +1,49 @@ +Index: pulseaudio-0.9.15/src/daemon/main.c +=================================================================== +--- pulseaudio-0.9.15.orig/src/daemon/main.c ++++ pulseaudio-0.9.15/src/daemon/main.c +@@ -399,28 +399,6 @@ int main(int argc, char *argv[]) { + pa_log_set_level(PA_LOG_NOTICE); + pa_log_set_flags(PA_LOG_COLORS|PA_LOG_PRINT_FILE|PA_LOG_PRINT_LEVEL, PA_LOG_RESET); + +-#if defined(__linux__) && defined(__OPTIMIZE__) +- /* +- Disable lazy relocations to make usage of external libraries +- more deterministic for our RT threads. We abuse __OPTIMIZE__ as +- a check whether we are a debug build or not. +- */ +- +- if (!getenv("LD_BIND_NOW")) { +- char *rp; +- +- /* We have to execute ourselves, because the libc caches the +- * value of $LD_BIND_NOW on initialization. */ +- +- pa_set_env("LD_BIND_NOW", "1"); +- +- if ((rp = pa_readlink("/proc/self/exe"))) +- pa_assert_se(execv(rp, argv) == 0); +- else +- pa_log_warn("Couldn't read /proc/self/exe, cannot self execute. Running in a chroot()?"); +- } +-#endif +- + #ifdef HAVE_GETUID + real_root = getuid() == 0; + suid_root = !real_root && geteuid() == 0; +Index: pulseaudio-0.9.15/src/Makefile.am +=================================================================== +--- pulseaudio-0.9.15.orig/src/Makefile.am ++++ pulseaudio-0.9.15/src/Makefile.am +@@ -153,9 +153,9 @@ PREOPEN_LIBS = $(modlibexec_LTLIBRARIES) + endif + + if FORCE_PREOPEN +-pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f)) ++pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -Wl,-z,now -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f)) + else +-pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f)) ++pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -Wl,-z,now -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f)) + endif + + if HAVE_POLKIT diff --git a/media-sound/pulseaudio/files/pulseaudio-0.9.16-CVE-2009-1894.patch b/media-sound/pulseaudio/files/pulseaudio-0.9.16-CVE-2009-1894.patch new file mode 100644 index 000000000000..64e672377ac0 --- /dev/null +++ b/media-sound/pulseaudio/files/pulseaudio-0.9.16-CVE-2009-1894.patch @@ -0,0 +1,85 @@ +From fdd11d6cc0f4c75f75c62fb7d419d157ce00c956 Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Diego=20Elio=20'Flameeyes'=20Petten=C3=B2?= <flameeyes@gmail.com> +Date: Tue, 7 Jul 2009 20:51:53 +0200 +Subject: [PATCH] Remove exploitable LD_BIND_NOW hack. + +Instead of trying to re-execute pulseaudio itself with LD_BIND_NOW set, +just find the correct flag for the linker to request immediate bindings +(all ELF files support that option), and use that when linking the daemon. + +Reduce the amount of compiled and executed code as well. +--- + configure.ac | 6 ++++++ + src/Makefile.am | 4 ++-- + src/daemon/main.c | 22 ---------------------- + 3 files changed, 8 insertions(+), 24 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9c96d1c..cc7f674 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -113,6 +113,12 @@ CC_CHECK_LDFLAGS([${tmp_ldflag}], + [VERSIONING_LDFLAGS='-Wl,-version-script=$(srcdir)/map-file']) + AC_SUBST([VERSIONING_LDFLAGS]) + ++dnl Use immediate (now) bindings; avoids the funky re-call in itself ++dnl the -z now syntax is lifted from Sun's linker and works with GNU's too ++dnl other linkes might be added later ++CC_CHECK_LDFLAGS([-Wl,-z,now], [IMMEDIATE_LDFLAGS="-Wl,-z,now"]) ++AC_SUBST([IMMEDIATE_LDFLAGS]) ++ + dnl Check for the proper way to build libraries that have no undefined + dnl symbols; on some hosts this needs to be avoided but the macro + dnl takes care of it. +diff --git a/src/Makefile.am b/src/Makefile.am +index 7ebf1f8..ac627c8 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -183,9 +183,9 @@ PREOPEN_LIBS = $(modlibexec_LTLIBRARIES) + endif + + if FORCE_PREOPEN +-pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f)) ++pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(IMMEDIATE_LDFLAGS) -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f)) + else +-pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f)) ++pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) $(IMMEDIATE_LDFLAGS) -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f)) + endif + + ################################### +diff --git a/src/daemon/main.c b/src/daemon/main.c +index eb378d2..0f6fc90 100644 +--- a/src/daemon/main.c ++++ b/src/daemon/main.c +@@ -401,28 +401,6 @@ int main(int argc, char *argv[]) { + pa_log_set_level(PA_LOG_NOTICE); + pa_log_set_flags(PA_LOG_COLORS|PA_LOG_PRINT_FILE|PA_LOG_PRINT_LEVEL, PA_LOG_RESET); + +-#if defined(__linux__) && defined(__OPTIMIZE__) +- /* +- Disable lazy relocations to make usage of external libraries +- more deterministic for our RT threads. We abuse __OPTIMIZE__ as +- a check whether we are a debug build or not. +- */ +- +- if (!getenv("LD_BIND_NOW")) { +- char *rp; +- +- /* We have to execute ourselves, because the libc caches the +- * value of $LD_BIND_NOW on initialization. */ +- +- pa_set_env("LD_BIND_NOW", "1"); +- +- if ((rp = pa_readlink("/proc/self/exe"))) +- pa_assert_se(execv(rp, argv) == 0); +- else +- pa_log_warn("Couldn't read /proc/self/exe, cannot self execute. Running in a chroot()?"); +- } +-#endif +- + if ((e = getenv("PULSE_PASSED_FD"))) { + passed_fd = atoi(e); + +-- +1.6.3.3 + diff --git a/media-sound/pulseaudio/files/pulseaudio-0.9.9-CVE-2009-1894.patch b/media-sound/pulseaudio/files/pulseaudio-0.9.9-CVE-2009-1894.patch new file mode 100644 index 000000000000..affa986d2f8d --- /dev/null +++ b/media-sound/pulseaudio/files/pulseaudio-0.9.9-CVE-2009-1894.patch @@ -0,0 +1,64 @@ +From fdd11d6cc0f4c75f75c62fb7d419d157ce00c956 Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Diego=20Elio=20'Flameeyes'=20Petten=C3=B2?= <flameeyes@gmail.com> +Date: Tue, 7 Jul 2009 20:51:53 +0200 +Subject: [PATCH] Remove exploitable LD_BIND_NOW hack. + +Instead of trying to re-execute pulseaudio itself with LD_BIND_NOW set, +just find the correct flag for the linker to request immediate bindings +(all ELF files support that option), and use that when linking the daemon. + +Reduce the amount of compiled and executed code as well. +--- + src/Makefile.am | 4 ++-- + src/daemon/main.c | 19 ------------------- + 2 files changed, 2 insertions(+), 21 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 2ac4f3d..7d1c431 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -147,9 +147,9 @@ PREOPEN_LIBS = $(modlibexec_LTLIBRARIES) + endif + + if FORCE_PREOPEN +-pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f)) ++pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -Wl,-z,now -dlpreopen force $(foreach f,$(PREOPEN_LIBS),-dlpreopen $(f)) + else +-pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f)) ++pulseaudio_LDFLAGS = $(AM_LDFLAGS) $(BINLDFLAGS) -Wl,-z,now -dlopen force $(foreach f,$(PREOPEN_LIBS),-dlopen $(f)) + endif + + if HAVE_POLKIT +diff --git a/src/daemon/main.c b/src/daemon/main.c +index 4276d1d..c788917 100644 +--- a/src/daemon/main.c ++++ b/src/daemon/main.c +@@ -340,25 +340,6 @@ int main(int argc, char *argv[]) { + #endif + + +-#if defined(__linux__) && defined(__OPTIMIZE__) +- /* +- Disable lazy relocations to make usage of external libraries +- more deterministic for our RT threads. We abuse __OPTIMIZE__ as +- a check whether we are a debug build or not. +- */ +- +- if (!getenv("LD_BIND_NOW")) { +- char *rp; +- +- /* We have to execute ourselves, because the libc caches the +- * value of $LD_BIND_NOW on initialization. */ +- +- putenv(pa_xstrdup("LD_BIND_NOW=1")); +- pa_assert_se(rp = pa_readlink("/proc/self/exe")); +- pa_assert_se(execv(rp, argv) == 0); +- } +-#endif +- + #ifdef HAVE_GETUID + real_root = getuid() == 0; + suid_root = !real_root && geteuid() == 0; +-- +1.6.3.3 + diff --git a/media-sound/pulseaudio/pulseaudio-0.9.15-r2.ebuild b/media-sound/pulseaudio/pulseaudio-0.9.15-r2.ebuild new file mode 100644 index 000000000000..17a38ad8c5e8 --- /dev/null +++ b/media-sound/pulseaudio/pulseaudio-0.9.15-r2.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-0.9.15-r2.ebuild,v 1.1 2009/07/16 14:00:05 flameeyes Exp $ + +EAPI=2 + +inherit eutils libtool flag-o-matic + +DESCRIPTION="A networked sound server with an advanced plugin system" +HOMEPAGE="http://www.pulseaudio.org/" +if [[ ${PV/_rc/} == ${PV} ]]; then + SRC_URI="http://0pointer.de/lennart/projects/${PN}/${P}.tar.gz" +else + SRC_URI="http://0pointer.de/public/${P/_rc/-test}.tar.gz" +fi + +S="${WORKDIR}/${P/_rc/-test}" + +LICENSE="LGPL-2 GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86" +IUSE="alsa avahi caps jack lirc oss tcpd X hal dbus libsamplerate gnome bluetooth policykit asyncns +glib test" + +RDEPEND="X? ( x11-libs/libX11 x11-libs/libSM x11-libs/libICE x11-libs/libXtst ) + caps? ( sys-libs/libcap ) + libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) + alsa? ( >=media-libs/alsa-lib-1.0.19 ) + glib? ( >=dev-libs/glib-2.4.0 ) + avahi? ( >=net-dns/avahi-0.6.12[dbus] ) + >=dev-libs/liboil-0.3.0 + jack? ( >=media-sound/jack-audio-connection-kit-0.100 ) + tcpd? ( sys-apps/tcp-wrappers ) + lirc? ( app-misc/lirc ) + dbus? ( >=sys-apps/dbus-1.0.0 ) + gnome? ( >=gnome-base/gconf-2.4.0 ) + hal? ( + >=sys-apps/hal-0.5.7 + >=sys-apps/dbus-1.0.0 + ) + app-admin/eselect-esd + bluetooth? ( + || ( >=net-wireless/bluez-4 + >=net-wireless/bluez-libs-3 ) + >=sys-apps/dbus-1.0.0 + ) + policykit? ( sys-auth/policykit ) + asyncns? ( net-libs/libasyncns ) + >=media-libs/audiofile-0.2.6-r1 + >=media-libs/speex-1.2_beta + >=media-libs/libsndfile-1.0.10 + >=dev-libs/liboil-0.3.6 + sys-libs/gdbm + >=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used + +DEPEND="${RDEPEND} + X? ( x11-proto/xproto ) + dev-libs/libatomic_ops + dev-util/pkgconfig + dev-util/intltool" + +RDEPEND="${RDEPEND} + gnome-extra/gnome-audio" + +pkg_setup() { + enewgroup audio 18 # Just make sure it exists + enewgroup realtime + enewgroup pulse-access + enewgroup pulse + enewuser pulse -1 -1 /var/run/pulse pulse,audio +} + +src_prepare() { + epatch "${FILESDIR}/${P}-bsd.patch" + epatch "${FILESDIR}/${P}-CVE-2009-1894.patch" + elibtoolize +} + +src_configure() { + # To properly fix CVE-2008-0008 + append-flags -UNDEBUG + + append-ldflags -Wl,--no-as-needed + + econf \ + --enable-largefile \ + $(use_enable glib glib2) \ + --disable-solaris \ + $(use_enable asyncns) \ + $(use_enable oss) \ + $(use_enable alsa) \ + $(use_enable lirc) \ + $(use_enable tcpd tcpwrap) \ + $(use_enable jack) \ + $(use_enable lirc) \ + $(use_enable avahi) \ + $(use_enable hal) \ + $(use_enable dbus) \ + $(use_enable gnome gconf) \ + $(use_enable libsamplerate samplerate) \ + $(use_enable bluetooth bluez) \ + $(use_enable policykit polkit) \ + $(use_enable X x11) \ + $(use_enable test default-build-tests) \ + $(use_with caps) \ + --localstatedir=/var \ + --with-realtime-group=realtime \ + --disable-per-user-esound-socket \ + || die "econf failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "make install failed" + + use avahi && sed -i -e '/module-zeroconf-publish/s:^#::' "${D}/etc/pulse/default.pa" + + dohtml -r doc + dodoc README + + # Create the state directory + diropts -o pulse -g pulse -m0755 + keepdir /var/run/pulse + + find "${D}" -name '*.la' -delete +} + +pkg_postinst() { + elog "If you want to make use of realtime capabilities of PulseAudio" + elog "you should follow the realtime guide to create and set up a realtime" + elog "user group: http://www.gentoo.org/proj/en/desktop/sound/realtime.xml" + elog "Make sure you also have baselayout installed with pam USE flag" + elog "enabled, if you're using the rlimit method." + if use bluetooth; then + elog + elog "The BlueTooth proximity module is not enabled in the default" + elog "configuration file. If you do enable it, you'll have to have" + elog "your BlueTooth controller enabled and inserted at bootup or" + elog "PulseAudio will refuse to start." + elog + elog "Please note that the BlueTooth proximity module seems itself" + elog "still experimental, so please report to upstream if you have" + elog "problems with it." + fi + if use alsa; then + local pkg="media-plugins/alsa-plugins" + if has_version ${pkg} && ! built_with_use --missing false ${pkg} pulseaudio; then + elog + elog "You have alsa support enabled so you probably want to install" + elog "${pkg} with pulseaudio support to have" + elog "alsa using applications route their sound through pulseaudio" + fi + fi + + eselect esd update --if-unset +} diff --git a/media-sound/pulseaudio/pulseaudio-0.9.15-r51.ebuild b/media-sound/pulseaudio/pulseaudio-0.9.15-r51.ebuild new file mode 100644 index 000000000000..4519e15d714e --- /dev/null +++ b/media-sound/pulseaudio/pulseaudio-0.9.15-r51.ebuild @@ -0,0 +1,199 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-0.9.15-r51.ebuild,v 1.1 2009/07/16 14:00:05 flameeyes Exp $ + +EAPI=2 + +inherit eutils libtool flag-o-matic + +DESCRIPTION="A networked sound server with an advanced plugin system" +HOMEPAGE="http://www.pulseaudio.org/" +if [[ ${PV/_rc/} == ${PV} ]]; then + SRC_URI="http://0pointer.de/lennart/projects/${PN}/${P}.tar.gz" +else + SRC_URI="http://0pointer.de/public/${P/_rc/-test}.tar.gz" +fi + +S="${WORKDIR}/${P/_rc/-test}" + +LICENSE="LGPL-2 GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86" +IUSE="alsa avahi caps jack lirc oss tcpd X hal dbus libsamplerate gnome bluetooth policykit asyncns +glib test" + +RDEPEND="X? ( x11-libs/libX11 x11-libs/libSM x11-libs/libICE x11-libs/libXtst ) + caps? ( sys-libs/libcap ) + libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) + alsa? ( >=media-libs/alsa-lib-1.0.19 ) + glib? ( >=dev-libs/glib-2.4.0 ) + avahi? ( >=net-dns/avahi-0.6.12[dbus] ) + >=dev-libs/liboil-0.3.0 + jack? ( >=media-sound/jack-audio-connection-kit-0.100 ) + tcpd? ( sys-apps/tcp-wrappers ) + lirc? ( app-misc/lirc ) + dbus? ( >=sys-apps/dbus-1.0.0 ) + gnome? ( >=gnome-base/gconf-2.4.0 ) + hal? ( + >=sys-apps/hal-0.5.7 + >=sys-apps/dbus-1.0.0 + ) + app-admin/eselect-esd + bluetooth? ( + || ( >=net-wireless/bluez-4 + >=net-wireless/bluez-libs-3 ) + >=sys-apps/dbus-1.0.0 + ) + policykit? ( sys-auth/policykit ) + asyncns? ( net-libs/libasyncns ) + >=media-libs/audiofile-0.2.6-r1 + >=media-libs/speex-1.2_beta + >=media-libs/libsndfile-1.0.10 + >=dev-libs/liboil-0.3.6 + sys-libs/gdbm + >=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used + +DEPEND="${RDEPEND} + X? ( x11-proto/xproto ) + dev-libs/libatomic_ops + dev-util/pkgconfig + || ( dev-util/unifdef sys-freebsd/freebsd-ubin ) + dev-util/intltool" + +# alsa-utils dep is for the alsasound init.d script (see bug #155707) +# bluez-utils dep is for the bluetooth init.d script +RDEPEND="${RDEPEND} + sys-apps/openrc + gnome-extra/gnome-audio + alsa? ( media-sound/alsa-utils ) + bluetooth? ( + || ( >=net-wireless/bluez-4 + >=net-wireless/bluez-utils-3 ) )" + +pkg_setup() { + enewgroup audio 18 # Just make sure it exists + enewgroup realtime + enewgroup pulse-access + enewgroup pulse + enewuser pulse -1 -1 /var/run/pulse pulse,audio +} + +src_prepare() { + epatch "${FILESDIR}/${P}-bsd.patch" + epatch "${FILESDIR}/${P}-CVE-2009-1894.patch" + elibtoolize +} + +src_configure() { + # To properly fix CVE-2008-0008 + append-flags -UNDEBUG + + append-ldflags -Wl,--no-as-needed + + econf \ + --enable-largefile \ + $(use_enable glib glib2) \ + --disable-solaris \ + $(use_enable asyncns) \ + $(use_enable oss) \ + $(use_enable alsa) \ + $(use_enable lirc) \ + $(use_enable tcpd tcpwrap) \ + $(use_enable jack) \ + $(use_enable lirc) \ + $(use_enable avahi) \ + $(use_enable hal) \ + $(use_enable dbus) \ + $(use_enable gnome gconf) \ + $(use_enable libsamplerate samplerate) \ + $(use_enable bluetooth bluez) \ + $(use_enable policykit polkit) \ + $(use_enable X x11) \ + $(use_enable test default-build-tests) \ + $(use_with caps) \ + --localstatedir=/var \ + --with-realtime-group=realtime \ + --disable-per-user-esound-socket \ + || die "econf failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "make install failed" + + newconfd "${FILESDIR}/pulseaudio.conf.d" pulseaudio + + use_define() { + local define=${2:-$(echo $1 | tr '[:lower:]' '[:upper:]')} + + use "$1" && echo "-D$define" || echo "-U$define" + } + + unifdef $(use_define hal) \ + $(use_define avahi) \ + $(use_define alsa) \ + $(use_define bluetooth) \ + "${FILESDIR}/pulseaudio.init.d-4" \ + > "${T}/pulseaudio" + + doinitd "${T}/pulseaudio" + + use avahi && sed -i -e '/module-zeroconf-publish/s:^#::' "${D}/etc/pulse/default.pa" + + dohtml -r doc + dodoc README + + # Create the state directory + diropts -o pulse -g pulse -m0755 + keepdir /var/run/pulse + + find "${D}" -name '*.la' -delete +} + +pkg_postinst() { + elog "PulseAudio in Gentoo can use a system-wide pulseaudio daemon." + elog "This support is enabled by starting the pulseaudio init.d ." + elog "To be able to access that you need to be in the group pulse-access." + elog "If you choose to use this feature, please make sure that you" + elog "really want to run PulseAudio this way:" + elog " http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode" + elog "For more information about system-wide support, please refer to:" + elog " http://pulseaudio.org/wiki/SystemWideInstance" + if use gnome; then + elog + elog "By enabling gnome USE flag, you enabled gconf support. Please note" + elog "that you might need to remove the gnome USE flag or disable the" + elog "gconf module on /etc/pulse/system.pa to be able to use PulseAudio" + elog "with a system-wide instance." + fi + elog + elog "To use the ESounD wrapper while using a system-wide daemon, you also" + elog "need to enable auth-anonymous for the esound-unix module, or to copy" + elog "/var/run/pulse/.esd_auth into each home directory." + elog + elog "If you want to make use of realtime capabilities of PulseAudio" + elog "you should follow the realtime guide to create and set up a realtime" + elog "user group: http://www.gentoo.org/proj/en/desktop/sound/realtime.xml" + elog "Make sure you also have baselayout installed with pam USE flag" + elog "enabled, if you're using the rlimit method." + if use bluetooth; then + elog + elog "The BlueTooth proximity module is not enabled in the default" + elog "configuration file. If you do enable it, you'll have to have" + elog "your BlueTooth controller enabled and inserted at bootup or" + elog "PulseAudio will refuse to start." + elog + elog "Please note that the BlueTooth proximity module seems itself" + elog "still experimental, so please report to upstream if you have" + elog "problems with it." + fi + if use alsa; then + local pkg="media-plugins/alsa-plugins" + if has_version ${pkg} && ! built_with_use --missing false ${pkg} pulseaudio; then + elog + elog "You have alsa support enabled so you probably want to install" + elog "${pkg} with pulseaudio support to have" + elog "alsa using applications route their sound through pulseaudio" + fi + fi + + eselect esd update --if-unset +} diff --git a/media-sound/pulseaudio/pulseaudio-0.9.16_rc2-r2.ebuild b/media-sound/pulseaudio/pulseaudio-0.9.16_rc2-r2.ebuild new file mode 100644 index 000000000000..b1dadff08214 --- /dev/null +++ b/media-sound/pulseaudio/pulseaudio-0.9.16_rc2-r2.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-0.9.16_rc2-r2.ebuild,v 1.1 2009/07/16 14:00:05 flameeyes Exp $ + +EAPI=2 + +inherit eutils libtool flag-o-matic + +DESCRIPTION="A networked sound server with an advanced plugin system" +HOMEPAGE="http://www.pulseaudio.org/" +if [[ ${PV/_rc/} == ${PV} ]]; then + SRC_URI="http://0pointer.de/lennart/projects/${PN}/${P}.tar.gz" +else + SRC_URI="http://0pointer.de/public/${P/_rc/-test}.tar.gz" +fi + +S="${WORKDIR}/${P/_rc/-test}" + +LICENSE="LGPL-2 GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86" +IUSE="alsa avahi caps jack lirc oss tcpd X hal dbus libsamplerate gnome bluetooth policykit asyncns +glib test doc" + +RDEPEND="X? ( x11-libs/libX11 x11-libs/libSM x11-libs/libICE x11-libs/libXtst ) + caps? ( sys-libs/libcap ) + libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) + alsa? ( >=media-libs/alsa-lib-1.0.19 ) + glib? ( >=dev-libs/glib-2.4.0 ) + avahi? ( >=net-dns/avahi-0.6.12[dbus] ) + >=dev-libs/liboil-0.3.0 + jack? ( >=media-sound/jack-audio-connection-kit-0.100 ) + tcpd? ( sys-apps/tcp-wrappers ) + lirc? ( app-misc/lirc ) + dbus? ( >=sys-apps/dbus-1.0.0 ) + gnome? ( >=gnome-base/gconf-2.4.0 ) + hal? ( + >=sys-apps/hal-0.5.7 + >=sys-apps/dbus-1.0.0 + ) + app-admin/eselect-esd + bluetooth? ( + || ( >=net-wireless/bluez-4 + >=net-wireless/bluez-libs-3 ) + >=sys-apps/dbus-1.0.0 + ) + policykit? ( sys-auth/policykit ) + asyncns? ( net-libs/libasyncns ) + >=media-libs/audiofile-0.2.6-r1 + >=media-libs/speex-1.2_beta + >=media-libs/libsndfile-1.0.10 + >=dev-libs/liboil-0.3.6 + sys-libs/gdbm + >=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used + +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen ) + X? ( x11-proto/xproto ) + dev-libs/libatomic_ops + dev-util/pkgconfig + dev-util/intltool" + +RDEPEND="${RDEPEND} + gnome-extra/gnome-audio" + +pkg_setup() { + enewgroup audio 18 # Just make sure it exists + enewgroup realtime + enewgroup pulse-access + enewgroup pulse + enewuser pulse -1 -1 /var/run/pulse pulse,audio +} + +src_prepare() { + epatch "${FILESDIR}/${PN}-0.9.16-CVE-2009-1894.patch" + elibtoolize +} + +src_configure() { + # To properly fix CVE-2008-0008 + append-flags -UNDEBUG + + append-ldflags -Wl,--no-as-needed + + econf \ + --enable-largefile \ + $(use_enable glib glib2) \ + --disable-solaris \ + $(use_enable asyncns) \ + $(use_enable oss) \ + $(use_enable alsa) \ + $(use_enable lirc) \ + $(use_enable tcpd tcpwrap) \ + $(use_enable jack) \ + $(use_enable lirc) \ + $(use_enable avahi) \ + $(use_enable hal) \ + $(use_enable dbus) \ + $(use_enable gnome gconf) \ + $(use_enable libsamplerate samplerate) \ + $(use_enable bluetooth bluez) \ + $(use_enable policykit polkit) \ + $(use_enable X x11) \ + $(use_enable test default-build-tests) \ + $(use_with caps) \ + --localstatedir=/var \ + --with-realtime-group=realtime \ + --disable-per-user-esound-socket \ + || die "econf failed" + + if use doc; then + pushd doxygen + doxygen doxygen.conf || die + popd + fi +} + +src_install() { + emake DESTDIR="${D}" install || die "make install failed" + + use avahi && sed -i -e '/module-zeroconf-publish/s:^#::' "${D}/etc/pulse/default.pa" + + # the “true” condition should be replaced by “use udev” once + # that's enabled. + if use hal && true; then + sed -i -e 's:-udev:-hal:' "${D}/etc/pulse/default.pa" || die + fi + + dodoc README ChangeLog todo || die + + if use doc; then + pushd doxygen/html + dohtml * || die + popd + fi + + # Create the state directory + diropts -o pulse -g pulse -m0755 + keepdir /var/run/pulse + + find "${D}" -name '*.la' -delete +} + +pkg_postinst() { + elog "If you want to make use of realtime capabilities of PulseAudio" + elog "you should follow the realtime guide to create and set up a realtime" + elog "user group: http://www.gentoo.org/proj/en/desktop/sound/realtime.xml" + elog "Make sure you also have baselayout installed with pam USE flag" + elog "enabled, if you're using the rlimit method." + if use bluetooth; then + elog + elog "The BlueTooth proximity module is not enabled in the default" + elog "configuration file. If you do enable it, you'll have to have" + elog "your BlueTooth controller enabled and inserted at bootup or" + elog "PulseAudio will refuse to start." + elog + elog "Please note that the BlueTooth proximity module seems itself" + elog "still experimental, so please report to upstream if you have" + elog "problems with it." + fi + if use alsa; then + local pkg="media-plugins/alsa-plugins" + if has_version ${pkg} && ! built_with_use --missing false ${pkg} pulseaudio; then + elog + elog "You have alsa support enabled so you probably want to install" + elog "${pkg} with pulseaudio support to have" + elog "alsa using applications route their sound through pulseaudio" + fi + fi + + eselect esd update --if-unset +} diff --git a/media-sound/pulseaudio/pulseaudio-0.9.16_rc2-r51.ebuild b/media-sound/pulseaudio/pulseaudio-0.9.16_rc2-r51.ebuild new file mode 100644 index 000000000000..33ffdb70046e --- /dev/null +++ b/media-sound/pulseaudio/pulseaudio-0.9.16_rc2-r51.ebuild @@ -0,0 +1,213 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-0.9.16_rc2-r51.ebuild,v 1.1 2009/07/16 14:00:05 flameeyes Exp $ + +EAPI=2 + +inherit eutils libtool flag-o-matic + +MY_P=${P/_rc/-test} + +DESCRIPTION="A networked sound server with an advanced plugin system" +HOMEPAGE="http://www.pulseaudio.org/" +SRC_URI="http://0pointer.de/public/${MY_P}.tar.gz" + +S="${WORKDIR}/${MY_P}" + +LICENSE="LGPL-2 GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86" +IUSE="alsa avahi caps jack lirc oss tcpd X hal dbus libsamplerate gnome bluetooth policykit asyncns +glib test doc" + +RDEPEND="X? ( x11-libs/libX11 x11-libs/libSM x11-libs/libICE x11-libs/libXtst ) + caps? ( sys-libs/libcap ) + libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) + alsa? ( >=media-libs/alsa-lib-1.0.19 ) + glib? ( >=dev-libs/glib-2.4.0 ) + avahi? ( >=net-dns/avahi-0.6.12[dbus] ) + >=dev-libs/liboil-0.3.0 + jack? ( >=media-sound/jack-audio-connection-kit-0.100 ) + tcpd? ( sys-apps/tcp-wrappers ) + lirc? ( app-misc/lirc ) + dbus? ( >=sys-apps/dbus-1.0.0 ) + gnome? ( >=gnome-base/gconf-2.4.0 ) + hal? ( + >=sys-apps/hal-0.5.7 + >=sys-apps/dbus-1.0.0 + ) + app-admin/eselect-esd + bluetooth? ( + || ( >=net-wireless/bluez-4 + >=net-wireless/bluez-libs-3 ) + >=sys-apps/dbus-1.0.0 + ) + policykit? ( sys-auth/policykit ) + asyncns? ( net-libs/libasyncns ) + >=media-libs/audiofile-0.2.6-r1 + >=media-libs/speex-1.2_beta + >=media-libs/libsndfile-1.0.10 + >=dev-libs/liboil-0.3.6 + sys-libs/gdbm + >=sys-devel/libtool-2.2.4" # it's a valid RDEPEND, libltdl.so is used + +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen ) + X? ( x11-proto/xproto ) + dev-libs/libatomic_ops + dev-util/pkgconfig + || ( dev-util/unifdef sys-freebsd/freebsd-ubin ) + dev-util/intltool" + +# alsa-utils dep is for the alsasound init.d script (see bug #155707) +# bluez-utils dep is for the bluetooth init.d script +RDEPEND="${RDEPEND} + sys-apps/openrc + gnome-extra/gnome-audio + alsa? ( media-sound/alsa-utils ) + bluetooth? ( + || ( >=net-wireless/bluez-4 + >=net-wireless/bluez-utils-3 ) )" + +pkg_setup() { + enewgroup audio 18 # Just make sure it exists + enewgroup pulse-access + enewgroup pulse + enewuser pulse -1 -1 /var/run/pulse pulse,audio +} + +src_prepare() { + epatch "${FILESDIR}/${PN}-0.9.16-CVE-2009-1894.patch" + elibtoolize +} + +src_configure() { + # To properly fix CVE-2008-0008 + append-flags -UNDEBUG + + # It's a binutils bug, once I can find time to fix that I'll add a + # proper dependency and fix this up. — flameeyes + append-ldflags -Wl,--no-as-needed + + # udev is disabled because we don't have the right version just + # yet, and thus we need to avoid it for now. Once we have the + # version I'll revbump PA. — flameeyes + econf \ + --enable-largefile \ + $(use_enable glib glib2) \ + --disable-solaris \ + $(use_enable asyncns) \ + $(use_enable oss) \ + $(use_enable alsa) \ + $(use_enable lirc) \ + $(use_enable tcpd tcpwrap) \ + $(use_enable jack) \ + $(use_enable lirc) \ + $(use_enable avahi) \ + $(use_enable hal) \ + $(use_enable dbus) \ + $(use_enable gnome gconf) \ + $(use_enable libsamplerate samplerate) \ + $(use_enable bluetooth bluez) \ + $(use_enable X x11) \ + $(use_enable test default-build-tests) \ + $(use_with caps) \ + --disable-udev \ + --localstatedir=/var \ + --disable-per-user-esound-socket \ + --with-database=gdbm \ + || die "econf failed" + + if use doc; then + pushd doxygen + doxygen doxygen.conf || die + popd + fi +} + +src_install() { + emake -j1 DESTDIR="${D}" install || die "make install failed" + + newconfd "${FILESDIR}/pulseaudio.conf.d" pulseaudio + + use_define() { + local define=${2:-$(echo $1 | tr '[:lower:]' '[:upper:]')} + + use "$1" && echo "-D$define" || echo "-U$define" + } + + unifdef $(use_define hal) \ + $(use_define avahi) \ + $(use_define alsa) \ + $(use_define bluetooth) \ + "${FILESDIR}/pulseaudio.init.d-4" \ + > "${T}/pulseaudio" + + doinitd "${T}/pulseaudio" + + use avahi && sed -i -e '/module-zeroconf-publish/s:^#::' "${D}/etc/pulse/default.pa" + + # the “true” condition should be replaced by “use udev” once + # that's enabled. + if use hal && true; then + sed -i -e 's:-udev:-hal:' "${D}/etc/pulse/default.pa" || die + fi + + dodoc README ChangeLog todo || die + + if use doc; then + pushd doxygen/html + dohtml * || die + popd + fi + + # Create the state directory + diropts -o pulse -g pulse -m0755 + keepdir /var/run/pulse + + find "${D}" -name '*.la' -delete +} + +pkg_postinst() { + elog "PulseAudio in Gentoo can use a system-wide pulseaudio daemon." + elog "This support is enabled by starting the pulseaudio init.d ." + elog "To be able to access that you need to be in the group pulse-access." + elog "If you choose to use this feature, please make sure that you" + elog "really want to run PulseAudio this way:" + elog " http://pulseaudio.org/wiki/WhatIsWrongWithSystemMode" + elog "For more information about system-wide support, please refer to:" + elog " http://pulseaudio.org/wiki/SystemWideInstance" + if use gnome; then + elog + elog "By enabling gnome USE flag, you enabled gconf support. Please note" + elog "that you might need to remove the gnome USE flag or disable the" + elog "gconf module on /etc/pulse/system.pa to be able to use PulseAudio" + elog "with a system-wide instance." + fi + elog + elog "To use the ESounD wrapper while using a system-wide daemon, you also" + elog "need to enable auth-anonymous for the esound-unix module, or to copy" + elog "/var/run/pulse/.esd_auth into each home directory." + elog + if use bluetooth; then + elog + elog "The BlueTooth proximity module is not enabled in the default" + elog "configuration file. If you do enable it, you'll have to have" + elog "your BlueTooth controller enabled and inserted at bootup or" + elog "PulseAudio will refuse to start." + elog + elog "Please note that the BlueTooth proximity module seems itself" + elog "still experimental, so please report to upstream if you have" + elog "problems with it." + fi + if use alsa; then + local pkg="media-plugins/alsa-plugins" + if has_version ${pkg} && ! built_with_use --missing false ${pkg} pulseaudio; then + elog + elog "You have alsa support enabled so you probably want to install" + elog "${pkg} with pulseaudio support to have" + elog "alsa using applications route their sound through pulseaudio" + fi + fi + + eselect esd update --if-unset +} diff --git a/media-sound/pulseaudio/pulseaudio-0.9.9-r1.ebuild b/media-sound/pulseaudio/pulseaudio-0.9.9-r1.ebuild new file mode 100644 index 000000000000..7cf160d3faa0 --- /dev/null +++ b/media-sound/pulseaudio/pulseaudio-0.9.9-r1.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-0.9.9-r1.ebuild,v 1.3 2009/07/16 14:00:05 flameeyes Exp $ + +inherit eutils libtool autotools flag-o-matic + +DESCRIPTION="A networked sound server with an advanced plugin system" +HOMEPAGE="http://www.pulseaudio.org" +SRC_URI="http://0pointer.de/lennart/projects/${PN}/${P}.tar.gz" + +LICENSE="LGPL-2 GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sh sparc x86" +IUSE="alsa avahi caps jack lirc oss tcpd X hal dbus libsamplerate gnome bluetooth policykit asyncns" + +RDEPEND="X? ( x11-libs/libX11 ) + caps? ( sys-libs/libcap ) + >=media-libs/audiofile-0.2.6-r1 + libsamplerate? ( >=media-libs/libsamplerate-0.1.1-r1 ) + >=media-libs/libsndfile-1.0.10 + >=dev-libs/liboil-0.3.6 + alsa? ( >=media-libs/alsa-lib-1.0.10 ) + >=dev-libs/glib-2.4.0 + avahi? ( >=net-dns/avahi-0.6.12 ) + >=dev-libs/liboil-0.3.0 + jack? ( >=media-sound/jack-audio-connection-kit-0.100 ) + tcpd? ( sys-apps/tcp-wrappers ) + lirc? ( app-misc/lirc ) + dbus? ( >=sys-apps/dbus-1.0.0 ) + gnome? ( >=gnome-base/gconf-2.4.0 ) + hal? ( + >=sys-apps/hal-0.5.7 + >=sys-apps/dbus-1.0.0 + ) + app-admin/eselect-esd + bluetooth? ( + >=net-wireless/bluez-libs-3 + >=sys-apps/dbus-1.0.0 + ) + policykit? ( sys-auth/policykit ) + asyncns? ( net-libs/libasyncns ) + >=sys-devel/libtool-1.5.24" # it's a valid RDEPEND, libltdl.so is used +DEPEND="${RDEPEND} + dev-libs/libatomic_ops + dev-util/pkgconfig" + +# alsa-utils dep is for the alsasound init.d script (see bug #155707) +# bluez-utils dep is for the bluetooth init.d script +RDEPEND="${RDEPEND} + gnome-extra/gnome-audio + alsa? ( media-sound/alsa-utils ) + bluetooth? ( >=net-wireless/bluez-utils-3 )" + +pkg_setup() { + if use avahi && ! built_with_use net-dns/avahi dbus ; then + echo + eerror "In order to compile pulseaudio with avahi support, you need to have" + eerror "net-dns/avahi emerged with 'dbus' in your USE flag. Please add that" + eerror "flag, re-emerge avahi, and then emerge pulseaudio again." + die "net-dns/avahi is missing the D-Bus bindings." + fi + + enewgroup audio 18 # Just make sure it exists + enewgroup realtime + enewgroup pulse-access + enewgroup pulse + enewuser pulse -1 -1 /var/run/pulse pulse,audio +} + +src_unpack() { + unpack ${A} + cd "${S}" + + epatch "${FILESDIR}/${PN}-0.9.8-svn2074.patch" + epatch "${FILESDIR}/${PN}-0.9.8-polkit.patch" + epatch "${FILESDIR}/${PN}-0.9.8-bt-nohal.patch" + epatch "${FILESDIR}/${PN}-0.9.8-esoundpath.patch" + epatch "${FILESDIR}/${PN}-0.9.8-create-directory.patch" + epatch "${FILESDIR}/${P}-CVE-2009-1894.patch" + + eautoreconf + elibtoolize +} + +src_compile() { + # To properly fix CVE-2008-0008 + append-flags -UNDEBUG + + econf \ + --enable-largefile \ + --enable-glib2 \ + --disable-solaris \ + $(use_enable asyncns) \ + $(use_enable oss) \ + $(use_enable alsa) \ + $(use_enable lirc) \ + $(use_enable tcpd tcpwrap) \ + $(use_enable jack) \ + $(use_enable lirc) \ + $(use_enable avahi) \ + $(use_enable hal) \ + $(use_enable dbus) \ + $(use_enable gnome gconf) \ + $(use_enable libsamplerate samplerate) \ + $(use_enable bluetooth bluez) \ + $(use_enable policykit polkit) \ + $(use_with caps) \ + $(use_with X x) \ + --disable-ltdl-install \ + --localstatedir=/var \ + --with-realtime-group=realtime \ + || die "econf failed" + emake || die "emake failed" +} + +src_install() { + emake -j1 DESTDIR="${D}" install || die "make install failed" + + newconfd "${FILESDIR}/pulseaudio.conf.d" pulseaudio + + local neededservices + use alsa && neededservices="$neededservices alsasound" + use avahi && neededservices="$neededservices avahi-daemon" + use hal && neededservices="$neededservices hald" + use bluetooth && neededservices="$neededservices bluetooth" + [[ -n ${neededservices} ]] && sed -e "s/@neededservices@/need $neededservices/" "${FILESDIR}/pulseaudio.init.d-2" > "${T}/pulseaudio" + doinitd "${T}/pulseaudio" + + use avahi && sed -i -e '/module-zeroconf-publish/s:^#::' "${D}/etc/pulse/default.pa" + + dohtml -r doc + dodoc README + + # Create the state directory + diropts -o pulse -g pulse -m0755 + keepdir /var/run/pulse +} + +pkg_postinst() { + elog "PulseAudio in Gentoo can use a system-wide pulseaudio daemon." + elog "This support is enabled by starting the pulseaudio init.d ." + elog "To be able to access that you need to be in the group pulse-access." + elog "For more information about system-wide support, please refer to" + elog " http://pulseaudio.org/wiki/SystemWideInstance" + if use gnome; then + elog + elog "By enabling gnome USE flag, you enabled gconf support. Please note" + elog "that you might need to remove the gnome USE flag or disable the" + elog "gconf module on /etc/pulse/default.pa to be able to use PulseAudio" + elog "with a system-wide instance." + fi + elog + elog "To use the ESounD wrapper while using a system-wide daemon, you also" + elog "need to enable auth-anonymous for the esound-unix module, or to copy" + elog "/var/run/pulse/.esd_auth into each home directory." + elog + elog "If you want to make use of realtime capabilities of PulseAudio" + elog "you should follow the realtime guide to create and set up a realtime" + elog "user group: http://www.gentoo.org/proj/en/desktop/sound/realtime.xml" + elog "Make sure you also have baselayout installed with pam USE flag" + elog "enabled, if you're using the rlimit method." + if use bluetooth; then + elog + elog "The BlueTooth proximity module is not enabled in the default" + elog "configuration file. If you do enable it, you'll have to have" + elog "your BlueTooth controller enabled and inserted at bootup or" + elog "PulseAudio will refuse to start." + elog + elog "Please note that the BlueTooth proximity module seems itself" + elog "still experimental, so please report to upstream if you have" + elog "problems with it." + fi + + eselect esd update --if-unset +} |