rpms/esound/devel esound-0.2.38-fix-open-macro.patch, NONE, 1.1 esound-0.2.38-multi-user.patch, NONE, 1.1 esound.spec, 1.37, 1.38

Lennart Poettering (lennart) fedora-extras-commits at redhat.com
Mon Aug 13 15:37:35 UTC 2007


Author: lennart

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

Modified Files:
	esound.spec 
Added Files:
	esound-0.2.38-fix-open-macro.patch 
	esound-0.2.38-multi-user.patch 
Log Message:
Move ESD socket from /tmp/.esd/socket to /tmp/.esd-1000/socket

esound-0.2.38-fix-open-macro.patch:

--- NEW FILE esound-0.2.38-fix-open-macro.patch ---
--- esound-0.2.38/esddsp.c	2007-04-19 16:43:59.000000000 +0200
+++ esound-0.2.38.lennart/esddsp.c	2007-08-09 17:47:11.000000000 +0200
@@ -252,6 +252,7 @@
     return (*func) (pathname, flags, mode);
 }
 
+#undef open
 int
 open (const char *pathname, int flags, ...)
 {

esound-0.2.38-multi-user.patch:

--- NEW FILE esound-0.2.38-multi-user.patch ---
--- esound-0.2.36.orig/util.c
+++ esound-0.2.36/util.c
@@ -5,6 +5,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include <stdio.h>
 
 /* Run-time check for IPv6 support */
 int 
@@ -23,22 +24,18 @@
 const char*
 esd_get_socket_dirname (void) 
 {
-	const char *audiodev;
+	const char *audiodev = NULL;
 	static char *dirname = NULL;
 
-	if (dirname == NULL) {
-		if (!(audiodev = getenv("AUDIODEV"))) {
-			audiodev = "";
-		} else {
-			char *newdev = strrchr(audiodev, '/');
-			if (newdev != NULL) {
-				audiodev = newdev++;
-			}
-		}
-		dirname = malloc(strlen(audiodev) + sizeof("/tmp/.esd"));
-		strcpy(dirname, "/tmp/.esd");
-		strcat(dirname, audiodev);
-	}
+        if ((audiodev = getenv("AUDIODEV"))) {
+                char *newdev = strrchr(audiodev, '/');
+                if (newdev != NULL) {
+                        audiodev = newdev++;
+                }
+        } else
+            audiodev = "";
+        dirname = malloc(strlen(audiodev) +  40);
+        sprintf (dirname, "/tmp/.esd%s-%i", audiodev, getuid());
 
 	return dirname;
 }


Index: esound.spec
===================================================================
RCS file: /cvs/pkgs/rpms/esound/devel/esound.spec,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- esound.spec	11 Jun 2007 10:46:42 -0000	1.37
+++ esound.spec	13 Aug 2007 15:37:03 -0000	1.38
@@ -2,7 +2,7 @@
 Summary: Allows several audio streams to play on a single audio device
 Name:    esound
 Version: 0.2.38
-Release: 2%{?dist}
+Release: 3%{?dist}
 Epoch:   1
 License: LGPL
 URL: ftp://ftp.gnome.org/pub/GNOME/sources/esound
@@ -13,6 +13,8 @@
 Patch2: esound-0.2.35-64bit_install.patch
 Patch3: esound-multilib.patch
 Patch4: esound-0.2.38-drain.patch
+Patch5: esound-0.2.38-multi-user.patch
+Patch6: esound-0.2.38-fix-open-macro.patch
 BuildRequires: docbook-utils
 BuildRequires: audiofile-devel
 BuildRequires: alsa-lib-devel
@@ -66,6 +68,8 @@
 %patch2 -p1 -b .64bit
 %patch3 -p1 -b .multilib
 %patch4 -p1 -b .drain-race
+%patch5 -p1 -b .multi-user
+%patch6 -p1 -b .open-macro
 
 %build
 %configure --disable-static
@@ -128,6 +132,11 @@
 %{_mandir}/man1/esd-config.1.gz
 
 %changelog
+* Thu Aug 9 2007 - Lennart Poettering <lpoetter at redhat.com> - 1:0.2.38-3
+- Move ESD socket from /tmp/.esd/socket to /tmp/.esd-`id -u`/socket to allow
+  multiple concurrent esd instances, one per user (#251505)
+- Fix build with newer libc
+
 * Mon Jun 11 2007 - Bastien Nocera <bnocera at redhat.com> - 1:0.2.38-2
 - Patch from Martin Stransky <stransky at redhat.com> to work around
   a race condition in snd_pcm_drain (#238680)




More information about the fedora-extras-commits mailing list