Add a patch to read /etc/machine-id as a fallback to the version in /var/lib/dbus...
authorArun Raghavan <ford_prefect@gentoo.org>
Tue, 13 Dec 2011 04:34:53 +0000 (04:34 +0000)
committerArun Raghavan <ford_prefect@gentoo.org>
Tue, 13 Dec 2011 04:34:53 +0000 (04:34 +0000)
Package-Manager: portage-2.2.0_alpha77/cvs/Linux x86_64

media-sound/pulseaudio/ChangeLog
media-sound/pulseaudio/Manifest
media-sound/pulseaudio/files/pulseaudio-1.1-machine-id-fix.patch [new file with mode: 0644]
media-sound/pulseaudio/pulseaudio-1.1-r1.ebuild [new file with mode: 0644]

index 1a2b9e5eefc0ae17cb6b8e5ebd4e01da6412fe4b..2be30d0d008eba50f929210cde631d65e2b1332e 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for media-sound/pulseaudio
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.252 2011/10/30 15:48:29 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/ChangeLog,v 1.253 2011/12/13 04:34:53 ford_prefect Exp $
+
+*pulseaudio-1.1-r1 (13 Dec 2011)
+
+  13 Dec 2011; Arun Raghavan <ford_prefect@gentoo.org>
+  +pulseaudio-1.1-r1.ebuild, +files/pulseaudio-1.1-machine-id-fix.patch:
+  Add a patch to read /etc/machine-id as a fallback to the version in
+  /var/lib/dbus. (fixes bug #390287)
 
   30 Oct 2011; Raúl Porcel <armin76@gentoo.org> pulseaudio-1.1.ebuild:
   Add ~alpha/~ia64/~sh/~sparc wrt #384635
index 50b6b422a6076f85ce61c446597a93dbcea9d28a..6389f0d3357e5347bbb8224defa5df5d9dea0391 100644 (file)
@@ -5,6 +5,7 @@ AUX pulseaudio-0.9.21-armv5-build-fix.patch 3387 RMD160 a3c3d2cd97478fc7ee53eb9a
 AUX pulseaudio-0.9.22-xcb-atom-2.patch 4381 RMD160 9f46c2d75c7c89f23919ef890829af4533166304 SHA1 c427582c9724b034c0e72f76685e32e44f281868 SHA256 7c256858654529302ec242dadf2a6123da7077154fe31adc26ca96f8824becd4
 AUX pulseaudio-0.9.22-xcb-atom.patch 3026 RMD160 3b88da261896e393294e6d11ebdc0986fb7cedde SHA1 23ea548e6a3853c1052c8e4516d396132cfb7221 SHA256 b7c528c3f20743d4337878138b0d0f12073a50b4d435c72812d06c472ebb1104
 AUX pulseaudio-1.0-version-fix.patch 1756 RMD160 e7897bdeb833cc402b33d004e4713ef3a25a17d0 SHA1 c0631f979b4ebf351b3a9b815b88f3e26fdfba21 SHA256 a8a84f768d2aded658b1cf2b75e95a67051380edec9dac8494692e6870c982a7
+AUX pulseaudio-1.1-machine-id-fix.patch 1723 RMD160 e878e71f52af36b84e5464114977adfb9b4d18b7 SHA1 67aa832703237c41f1ab9bf9a6e2ee9dc1b946e8 SHA256 4167f52eb2dfb2c6fcaab1c6dda3f1208556dfc2e3511e46b63b686d14e204d3
 AUX pulseaudio-1.1-python3-fix.patch 5200 RMD160 c00325ed5417406f57f755f772eeae7e5335f8d9 SHA1 c0440858890ad01a09fbcb59647fb0df331cc4e1 SHA256 cd7b6a4702e11afe91d6f5f3c7e10d1db540709c5c4ad478aa550a23233ec3f6
 AUX pulseaudio.conf.d 275 RMD160 6317cb5be41a768428056c0057d8f5b1f189e804 SHA1 22ed7f1de0f2a18a608c5e9a91635ee66addac4d SHA256 c03661e8cc902d27ff6b52f291207f2b008957571b942abdd92a873a52aae0dd
 AUX pulseaudio.init.d-4 2493 RMD160 9f6b2f487298a5576b60b53095ee697095b88c89 SHA1 80f0e5e621d9312a7b24129fe843dd7ce085756d SHA256 dc8caa43aa297d2ca4019eef5b3cb64b3a57741e611620490f8d79091790f363
@@ -15,14 +16,15 @@ DIST pulseaudio-1.1.tar.xz 1306168 RMD160 26faa0831a97ce02b1d9b256f5171ece797c72
 EBUILD pulseaudio-0.9.22-r2.ebuild 6796 RMD160 02fc6a6e035cb758042d4dd40c311bb242cefbb2 SHA1 9592d4c27deb87758ce73a7e9d1760161d5f5697 SHA256 5c1b7996dd575cf24084d32b7957e41d6af547e6792ddf2b695c5cbe49bf4062
 EBUILD pulseaudio-0.9.22.ebuild 6673 RMD160 7fedd677e1965979a1b3ae723bc631f0ac9b9502 SHA1 8c20123736b20c264b255a579da3f848184f6104 SHA256 c20632a24bd755409e6e4fc6185174bd903f8c890b02d4b605dc7d9d427dbea8
 EBUILD pulseaudio-0.9.23-r1.ebuild 6447 RMD160 bdd2c8a238140a694d68a8a73ccd1c036edbe141 SHA1 296ce55f936d89e77ff99e34be01ac99ea2462ed SHA256 4df36f7090347daaebfdef125a08ee455f6b7572e5e9376ed9d4c6e142a7bba1
+EBUILD pulseaudio-1.1-r1.ebuild 6210 RMD160 a3257fdb91317c7fd794bea2b8b7117b865da502 SHA1 a01ecc40e2466896d35ab09e48aa7799125ea511 SHA256 a66cd63f4f773713fcfd2d2a928e517a949e04c5d3814808e892f149b0c06569
 EBUILD pulseaudio-1.1.ebuild 6117 RMD160 70c59ff3c33fe53338004f68b54f36a1bbaddd37 SHA1 daf2be3a0a281da9cdef1dd03b5463aae90a572c SHA256 b2c13cb3835d15859788d3d4fc26a5abb601ce77b323300e69a015cdf9aab4bc
 EBUILD pulseaudio-9999.ebuild 6025 RMD160 3a4b4c878beb9e76506398e14996fb2d00dfcf03 SHA1 8fdd2b0606d791f164e8214441ac3e98e6609050 SHA256 2a62648f22c244615383bbf02bd5bca781f4c2457c222286c9ef81434a75da35
-MISC ChangeLog 48592 RMD160 69d469f54a48be3134c352d5e687760a9bedb048 SHA1 f43e8ad55b3e7ac26de3a9dfb3eff293056ae234 SHA256 21ed1f18ee25270be8b1f2ec5cc46ce76c07ee155ed196a8c90183b2a91d6bad
+MISC ChangeLog 48867 RMD160 068def31e4083fa91f0ed3989dddc57ab1bda038 SHA1 3264874cb5185b372c2c04864fe011d4a1155599 SHA256 6e4436c02a65bb58dc066296b6821ced9e6bcf616a592028e3322b1e60d4a2e5
 MISC metadata.xml 2225 RMD160 270fc66edbe5134853cc06c1feaca8d94a8c50fd SHA1 1c8edb3e83bb3791d860e3b007e7dab37bdf3459 SHA256 57429e87e6e2902c0a81aa480f603ffa894234434c03da1ffef89d52493d848b
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.17 (GNU/Linux)
+Version: GnuPG v2.0.18 (GNU/Linux)
 
-iEYEARECAAYFAk6tcdMACgkQuQc30/atMkBOxwCgtUvDyTsq2zduJfSvMiyBDIa0
-qQIAnRQhXvoUxvYtzXLX7EoabG2Ctdur
-=Su1t
+iEYEARECAAYFAk7m1ggACgkQ+Vqt1inD4uzaNwCfQlZIJWx4oWbMv5wq5DoBE+N3
+bjAAmwQjorEG3LyxUXcx/0cXNYaAIe3p
+=RRrS
 -----END PGP SIGNATURE-----
diff --git a/media-sound/pulseaudio/files/pulseaudio-1.1-machine-id-fix.patch b/media-sound/pulseaudio/files/pulseaudio-1.1-machine-id-fix.patch
new file mode 100644 (file)
index 0000000..a943104
--- /dev/null
@@ -0,0 +1,42 @@
+commit 42881d277014d3bf3bb1b4e660c80378b4081a52
+Author: Arun Raghavan <arun.raghavan@collabora.co.uk>
+Date:   Mon Nov 14 13:42:21 2011 +0530
+
+    core: Look up /etc/machine-id if D-Bus machine-id is not found
+    
+    It appears that this is currently the fallback for early boot and other
+    such cases where /var might not be available. Relevant upstream commit:
+    
+    http://cgit.freedesktop.org/dbus/dbus/commit/?id=66e52541d5bdd4927a5c702963749760643313f4
+    
+    Thanks to Samuli Suominen <ssuominen@gentoo.org> for pointing this out
+    in https://bugs.gentoo.org/show_bug.cgi?id=390287
+
+diff --git a/configure.ac b/configure.ac
+index 324e32e..1f65dd5 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -935,6 +935,9 @@ AS_IF([test "x$HAVE_DBUS" = "x1"], AC_DEFINE([HAVE_DBUS], 1, [Have D-Bus.]))
+ PA_MACHINE_ID="${localstatedir}/lib/dbus/machine-id"
+ AX_DEFINE_DIR(PA_MACHINE_ID, PA_MACHINE_ID, [D-Bus machine-id file])
++PA_MACHINE_ID_FALLBACK="${sysconfdir}/machine-id"
++AX_DEFINE_DIR(PA_MACHINE_ID_FALLBACK, PA_MACHINE_ID_FALLBACK,
++            [Fallback machine-id file])
+ #### HAL support (optional), dependant on D-Bus ####
+diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
+index 79c8e08..0173135 100644
+--- a/src/pulsecore/core-util.c
++++ b/src/pulsecore/core-util.c
+@@ -2717,7 +2717,8 @@ char *pa_machine_id(void) {
+      * since it fits perfectly our needs and is not as volatile as the
+      * hostname which might be set from dhcp. */
+-    if ((f = pa_fopen_cloexec(PA_MACHINE_ID, "r"))) {
++    if ((f = pa_fopen_cloexec(PA_MACHINE_ID, "r")) ||
++        (f = pa_fopen_cloexec(PA_MACHINE_ID_FALLBACK, "r"))) {
+         char ln[34] = "", *r;
+         r = fgets(ln, sizeof(ln)-1, f);
diff --git a/media-sound/pulseaudio/pulseaudio-1.1-r1.ebuild b/media-sound/pulseaudio/pulseaudio-1.1-r1.ebuild
new file mode 100644 (file)
index 0000000..dba8f11
--- /dev/null
@@ -0,0 +1,213 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/pulseaudio/pulseaudio-1.1-r1.ebuild,v 1.1 2011/12/13 04:34:53 ford_prefect Exp $
+
+EAPI=4
+
+inherit autotools eutils libtool flag-o-matic versionator
+
+DESCRIPTION="A networked sound server with an advanced plugin system"
+HOMEPAGE="http://www.pulseaudio.org/"
+
+SRC_URI="http://freedesktop.org/software/pulseaudio/releases/${P}.tar.xz"
+
+LICENSE="LGPL-2 GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+alsa avahi +caps equalizer jack lirc oss tcpd +X dbus libsamplerate gnome bluetooth +asyncns +glib test doc +udev ipv6 system-wide realtime +orc"
+
+RDEPEND="app-admin/eselect-esd
+       X? (
+               >=x11-libs/libX11-1.4.0
+               >=x11-libs/libxcb-1.6
+               >=x11-libs/xcb-util-0.3.1
+               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] )
+       jack? ( >=media-sound/jack-audio-connection-kit-0.117 )
+       tcpd? ( sys-apps/tcp-wrappers )
+       lirc? ( app-misc/lirc )
+       dbus? ( >=sys-apps/dbus-1.0.0 )
+       gnome? ( >=gnome-base/gconf-2.4.0 )
+       bluetooth? (
+               >=net-wireless/bluez-4
+               >=sys-apps/dbus-1.0.0
+       )
+       asyncns? ( net-libs/libasyncns )
+       udev? ( || ( >=sys-fs/udev-171[hwdb] >=sys-fs/udev-143[extras] ) )
+       realtime? ( sys-auth/rtkit )
+       equalizer? ( sci-libs/fftw:3.0 )
+       orc? ( >=dev-lang/orc-0.4.9 )
+       >=media-libs/audiofile-0.2.6-r1
+       >=media-libs/speex-1.2_rc1
+       >=media-libs/libsndfile-1.0.20
+       sys-libs/gdbm
+       dev-libs/json-c
+       >=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
+               >=x11-libs/libXtst-1.0.99.2
+       )
+       dev-libs/libatomic_ops
+       dev-util/pkgconfig
+       system-wide? ( || ( dev-util/unifdef sys-freebsd/freebsd-ubin ) )
+       dev-util/intltool"
+
+# alsa-utils dep is for the alsasound init.d script (see bug #155707)
+# bluez dep is for the bluetooth init.d script
+RDEPEND="${RDEPEND}
+       X? ( gnome-extra/gnome-audio )
+       system-wide? (
+               sys-apps/openrc
+               alsa? ( media-sound/alsa-utils )
+               bluetooth? ( >=net-wireless/bluez-4 )
+       )"
+
+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}/${P}-python3-fix.patch"
+       # bgo 390287
+       epatch "${FILESDIR}/${P}-machine-id-fix.patch"
+       eautoreconf
+}
+
+src_configure() {
+       # 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 $(no-as-needed)
+
+       econf \
+               --enable-largefile \
+               $(use_enable glib glib2) \
+               --disable-solaris \
+               $(use_enable asyncns) \
+               $(use_enable oss oss-output) \
+               $(use_enable alsa) \
+               $(use_enable lirc) \
+               $(use_enable tcpd tcpwrap) \
+               $(use_enable jack) \
+               $(use_enable lirc) \
+               $(use_enable avahi) \
+               --disable-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_enable udev) \
+               $(use_enable ipv6) \
+               $(use_with caps) \
+               $(use_with equalizer fftw) \
+               --localstatedir="${EPREFIX}"/var \
+               --with-database=gdbm \
+               --with-udev-rules-dir="${EPREFIX}/lib/udev/rules.d"
+
+       if use doc; then
+               pushd doxygen
+               doxygen doxygen.conf
+               popd
+       fi
+}
+
+src_test() {
+       # We avoid running the toplevel check target because that will run
+       # po/'s tests too, and they are broken. Officially, it should work
+       # with intltool 0.41, but that doesn't look like a stable release.
+       emake -C src check
+}
+
+src_install() {
+       emake -j1 DESTDIR="${D}" install
+
+       # Drop the script entirely if X is disabled
+       use X || rm "${ED}"/usr/bin/start-pulseaudio-x11
+
+       if use system-wide; then
+               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 avahi) \
+                       $(use_define alsa) \
+                       $(use_define bluetooth) \
+                       $(use_define udev) \
+                       "${FILESDIR}/pulseaudio.init.d-5" \
+                       > "${T}/pulseaudio"
+
+               doinitd "${T}/pulseaudio"
+       fi
+
+       use avahi && sed -i -e '/module-zeroconf-publish/s:^#::' "${ED}/etc/pulse/default.pa"
+
+       dodoc README todo
+
+       if use doc; then
+               pushd doxygen/html
+               dohtml *
+               popd
+       fi
+
+       # Create the state directory
+       use prefix || diropts -o pulse -g pulse -m0755
+       keepdir /var/run/pulse
+
+       find "${D}" -name '*.la' -delete
+}
+
+pkg_postinst() {
+       if use system-wide; then
+               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
+       fi
+       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."
+       fi
+       if use alsa; then
+               local pkg="media-plugins/alsa-plugins"
+               if has_version ${pkg} && ! has_version "${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
+}