rpms/pulseaudio/devel pulseaudio-0.9.8-ltdl-assert.patch, NONE, 1.1 pulseaudio-0.9.8-multilib.patch, NONE, 1.1 pulseaudio.spec, 1.30, 1.31

Lubomir Kundrak (lkundrak) fedora-extras-commits at redhat.com
Fri Feb 29 10:04:02 UTC 2008


Author: lkundrak

Update of /cvs/pkgs/rpms/pulseaudio/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30307/devel

Modified Files:
	pulseaudio.spec 
Added Files:
	pulseaudio-0.9.8-ltdl-assert.patch 
	pulseaudio-0.9.8-multilib.patch 
Log Message:
#228383 (multilib), #427962 (assert)

pulseaudio-0.9.8-ltdl-assert.patch:

--- NEW FILE pulseaudio-0.9.8-ltdl-assert.patch ---
Index: src/daemon/ltdl-bind-now.c
===================================================================
--- src/daemon/ltdl-bind-now.c  (revision 2098)
+++ src/daemon/ltdl-bind-now.c  (working copy)
@@ -153,7 +153,6 @@
 }
 
 void pa_ltdl_done(void) {
-    pa_assert_se(lt_dlexit() == 0);
     pa_mutex_free(libtool_mutex);
     libtool_mutex = NULL;
 }

pulseaudio-0.9.8-multilib.patch:

--- NEW FILE pulseaudio-0.9.8-multilib.patch ---
diff -urp pulseaudio-0.9.8.orig/src/daemon/daemon.conf.in pulseaudio-0.9.8/src/daemon/daemon.conf.in
--- pulseaudio-0.9.8.orig/src/daemon/daemon.conf.in	2007-11-21 02:30:42.000000000 +0100
+++ pulseaudio-0.9.8/src/daemon/daemon.conf.in	2008-02-29 09:04:27.000000000 +0100
@@ -38,7 +38,7 @@
 ; module-idle-time = 20
 ; scache-idle-time = 20
 
-; dl-search-path = @PA_DLSEARCHPATH@
+; dl-search-path = (depends on architecture)
 
 ; default-script-file = @PA_DEFAULT_CONFIG_FILE@
 
diff -urp pulseaudio-0.9.8.orig/src/daemon/default.pa.in pulseaudio-0.9.8/src/daemon/default.pa.in
--- pulseaudio-0.9.8.orig/src/daemon/default.pa.in	2008-02-29 06:40:07.000000000 +0100
+++ pulseaudio-0.9.8/src/daemon/default.pa.in	2008-02-29 09:04:27.000000000 +0100
@@ -37,7 +37,7 @@ load-sample-lazy pulse-hotplug /usr/shar
 #load-module module-pipe-sink
 
 ### Automatically load driver modules depending on the hardware available
-.ifexists @PA_DLSEARCHPATH@/module-hal-detect at PA_SOEXT@
+.ifexists module-hal-detect at PA_SOEXT@
 load-module module-hal-detect
 .else
 ### Alternatively use the static hardware detection module (for systems that
@@ -79,7 +79,7 @@ load-module module-suspend-on-idle
 #load-module module-x11-bell sample=x11-bell
 
 ### Publish connection data in the X11 root window
-.ifexists @PA_DLSEARCHPATH@/module-x11-publish at PA_SOEXT@
+.ifexists module-x11-publish at PA_SOEXT@
 load-module module-x11-publish
 .endif
 
@@ -91,7 +91,7 @@ load-module module-x11-publish
 ### Load additional modules from GConf settings. This can be configured with the paprefs tool.
 ### Please keep in mind that the modules configured by paprefs might conflict with manually
 ### loaded modules.
-.ifexists @PA_DLSEARCHPATH@/module-gconf at PA_SOEXT@
+.ifexists module-gconf at PA_SOEXT@
 load-module module-gconf
 .endif
 
diff -urp pulseaudio-0.9.8.orig/src/pulsecore/cli-command.c pulseaudio-0.9.8/src/pulsecore/cli-command.c
--- pulseaudio-0.9.8.orig/src/pulsecore/cli-command.c	2007-11-01 01:32:49.000000000 +0100
+++ pulseaudio-0.9.8/src/pulsecore/cli-command.c	2008-02-29 09:04:27.000000000 +0100
@@ -31,6 +31,7 @@
 #include <stdlib.h>
 #include <errno.h>
 #include <unistd.h>
+#include <ltdl.h>
 
 #include <pulse/xmalloc.h>
 
@@ -1314,9 +1315,38 @@ int pa_cli_command_execute_line_stateful
                     return -1;
                 } else {
                     const char *filename = cs+l+strspn(cs+l, whitespace);
+                    char *saveptr = NULL; 
+                    char *paths;
+                    char *path;
+
+                    /* Search DL_SEARCH_PATH unless the filename is absolute */
+                    if (filename[0] == '/') {
+                        paths = strdup ("/");
+                    } else {
+                        paths = strdup (lt_dlgetsearchpath ());
+                    }
 
-                    *ifstate = access(filename, F_OK) == 0 ? IFSTATE_TRUE : IFSTATE_FALSE;
-                    pa_log_debug("Checking for existance of '%s': %s", filename, *ifstate == IFSTATE_TRUE ? "success" : "failure");
+                    if (paths == NULL)
+                        return -1;
+
+                    for (path = strtok_r (paths, ":", &saveptr); path; path = strtok_r (NULL, ":", &saveptr)) {
+                        char *pathname = malloc (strlen(path) + strlen(filename) + 2);
+                        if (pathname == NULL)
+                            return -1;
+
+                        strcat(pathname, path);
+                        strcat(pathname, '/'); /* XXX: Is this OK for Windows? */
+                        strcat(pathname, filename);
+
+                        *ifstate = access(pathname, F_OK) == 0 ? IFSTATE_TRUE : IFSTATE_FALSE;
+                        pa_log_debug("Checking for existance of '%s': %s", pathname, *ifstate == IFSTATE_TRUE ? "success" : "failure");
+
+                        pa_xfree (pathname);
+
+                        if (*ifstate == IFSTATE_TRUE)
+                                break;
+                    }     
+                    pa_xfree (paths);
                 }
             } else {
                 pa_strbuf_printf(buf, "Invalid meta command: %s\n", cs);


Index: pulseaudio.spec
===================================================================
RCS file: /cvs/pkgs/rpms/pulseaudio/devel/pulseaudio.spec,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- pulseaudio.spec	21 Feb 2008 12:21:46 -0000	1.30
+++ pulseaudio.spec	29 Feb 2008 10:03:26 -0000	1.31
@@ -3,7 +3,7 @@
 Name:		pulseaudio
 Summary: 	Improved Linux sound server
 Version:	0.9.8
-Release:	7%{?dist}
+Release:	8%{?dist}
 License:	GPLv2+
 Group:		System Environment/Daemons
 Source0:	http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-%{version}.tar.gz
@@ -26,6 +26,8 @@
 Patch3: 	pulseaudio-0.9.8-unbreak-tunnels.patch
 Patch4:		pulseaudio-0.9.8-create-dot-pulse.patch
 Patch5:		pulseaudio-0.9.8-droproot.patch
+Patch6:		pulseaudio-0.9.8-multilib.patch
+Patch7:		pulseaudio-0.9.8-ltdl-assert.patch
 
 %description
 PulseAudio is a sound server for Linux and other Unix like operating 
@@ -162,10 +164,12 @@
 
 %prep
 %setup -q -T -b0
-%patch2 -p2
-%patch3 -p1
-%patch4 -p0
-%patch5 -p0
+%patch2 -p2 -b .fix-sample-upload
+%patch3 -p1 -b .unbreak-tunnels
+%patch4 -p0 -b .create-dot-pulse
+%patch5 -p0 -b .droproot
+%patch6 -p1 -b .multilib
+%patch7 -p0 -b .ltdl-assert
 
 %build
 %configure --disable-ltdl-install --disable-static --disable-rpath --with-system-user=pulse --with-system-group=pulse --with-realtime-group=pulse-rt --with-access-group=pulse-access
@@ -181,6 +185,15 @@
 chmod 755 $RPM_BUILD_ROOT%{_bindir}/pulseaudio
 ln -s esdcompat $RPM_BUILD_ROOT%{_bindir}/esd
 rm $RPM_BUILD_ROOT/%{_libdir}/libpulsecore.so
+# preserve time stamps, for multilib's sake
+touch -r src/daemon/daemon.conf.in.multilib $RPM_BUILD_ROOT%{_sysconfdir}/pulse/daemon.conf
+touch -r src/daemon/default.pa.in.multilib $RPM_BUILD_ROOT%{_sysconfdir}/pulse/default.pa
+touch -r src/daemon/PulseAudio.policy $RPM_BUILD_ROOT%{_datadir}/PolicyKit/policy/PulseAudio.policy
+touch -r man/pulseaudio.1.xml.in $RPM_BUILD_ROOT%{_mandir}/man1/pulseaudio.1
+touch -r man/default.pa.5.xml.in $RPM_BUILD_ROOT%{_mandir}/man5/default.pa.5
+touch -r man/pulse-client.conf.5.xml.in $RPM_BUILD_ROOT%{_mandir}/man5/pulse-client.conf.5
+touch -r man/pulse-daemon.conf.5.xml.in $RPM_BUILD_ROOT%{_mandir}/man5/pulse-daemon.conf.5
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -381,6 +394,10 @@
 %{_mandir}/man1/pax11publish.1.gz
 
 %changelog
+* Fri Feb 29 2008 Lubomir Kundrak <lkundrak at redhat.com> 0.9.8-8
+- Fix multilib issue (#228383)
+- Prevent dumping core if exiting sooner that ltdl initializaion (#427962)
+
 * Thu Feb 21 2008 Adam Tkac <atkac redhat com> 0.9.8-7
 - really rebuild against new libcap
 




More information about the fedora-extras-commits mailing list