Hello community,
here is the log from the commit of package esound
checked in at Fri Aug 15 23:12:03 CEST 2008.
--------
--- GNOME/esound/esound.changes 2008-08-04 00:54:31.000000000 +0200
+++ esound/esound.changes 2008-08-15 16:28:33.000000000 +0200
@@ -1,0 +2,20 @@
+Tue Aug 5 21:25:15 EDT 2008 - mauro@suse.de
+
+- Update to version 0.2.39
+ * Fixed esd client-side code to not hang if esd crashes/hangs
+ or otherwise becomes unreachable (Jeffrey Stedfast)
+ * Suppress verbose error messages from ALSA (Stanislav Brabec)
+ * Allow for multiple esd instances
+ * Fix esound-config for multi-lib setups (Matthias Clasen)
+ * Don't report errors about /dev/dsp not existing (Havoc Pennington)
+ * Various other build fixes for AMD64 (Rémi Cardona)
+- Dropped esound-suppress-alsa-debug.diff, it's already present in
+ upstream version.
+- Dropped esound-multi-user-375701.patch, it's already present in
+ upstream version.
+- Dropped esound-configure.patch, it's already present in the
+ upstream version.
+- Updated esound-esddsp-no-version-info.patch to the current
+ upstream code.
+
+-------------------------------------------------------------------
Old:
----
esound-0.2.38.tar.bz2
esound-configure.patch
esound-multi-user-375701.patch
esound-suppress-alsa-debug.diff
New:
----
esound-0.2.39.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ esound.spec ++++++
--- /var/tmp/diff_new_pack.SD1502/_old 2008-08-15 23:08:13.000000000 +0200
+++ /var/tmp/diff_new_pack.SD1502/_new 2008-08-15 23:08:13.000000000 +0200
@@ -1,10 +1,17 @@
#
-# spec file for package esound (Version 0.2.38)
+# spec file for package esound (Version 0.2.39)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -17,8 +24,8 @@
Group: System/Sound Daemons
AutoReqProv: on
Summary: A sound daemon for Enlightenment and GNOME
-Version: 0.2.38
-Release: 86
+Version: 0.2.39
+Release: 1
Url: ftp://ftp.gnome.org/pub/gnome/sources/esound/
Source: ftp://ftp.gnome.org/pub/gnome/sources/esound/0.2/%{name}-%{version}.tar.bz2
Source1: esound.init
@@ -26,11 +33,6 @@
Patch0: esd-as.patch
# PATCH-FIX-UPSTREAM esound-biarch.patch bgo545534 sbrabec@suse.cz -- fix bi-arch clash
Patch1: esound-biarch.patch
-# PATCH-FIX-UPSTREAM suppress verbose error messages from alsa-lib bnc300031 bgo528718
-Patch2: esound-suppress-alsa-debug.diff
-# PATCH-FIX-UPSTREAM esound-multi-user-375701.patch -- Fedora patch to allow better multi user access
-Patch3: esound-multi-user-375701.patch
-Patch4: esound-configure.patch
# PATCH-FIX-UPSTREAM esound-esddsp-no-version-info.patch bgo545534 sbrabec@suse.cz -- move non-standard library to a separate directory
Patch5: esound-esddsp-no-version-info.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -172,10 +174,7 @@
%setup -q
%patch0
%patch1
-%patch2
-%patch3 -p1
-%patch4
-%patch5
+%patch5 -p1
%build
autoreconf -f -i
@@ -243,7 +242,24 @@
%doc %{_mandir}/man1/esd-config.*
%changelog
-* Mon Aug 04 2008 ro@suse.de
+* Tue Aug 05 2008 mauro@suse.de
+- Update to version 0.2.39
+ * Fixed esd client-side code to not hang if esd crashes/hangs
+ or otherwise becomes unreachable (Jeffrey Stedfast)
+ * Suppress verbose error messages from ALSA (Stanislav Brabec)
+ * Allow for multiple esd instances
+ * Fix esound-config for multi-lib setups (Matthias Clasen)
+ * Don't report errors about /dev/dsp not existing (Havoc Pennington)
+ * Various other build fixes for AMD64 (Rémi Cardona)
+- Dropped esound-suppress-alsa-debug.diff, it's already present in
+ upstream version.
+- Dropped esound-multi-user-375701.patch, it's already present in
+ upstream version.
+- Dropped esound-configure.patch, it's already present in the
+ upstream version.
+- Updated esound-esddsp-no-version-info.patch to the current
+ upstream code.
+* Sun Aug 03 2008 ro@suse.de
- fix requires for debuginfo package
* Wed Jul 30 2008 sbrabec@suse.cz
- Fixed package splitting (bnc#412459).
@@ -261,7 +277,7 @@
- Fix rpmlint warnings:
* Use $portmap for init script
* Add missing requires for packages
-* Fri May 02 2008 aj@suse.de
+* Thu May 01 2008 aj@suse.de
- Fix last change.
* Tue Apr 29 2008 cthiel@suse.de
- obsolete esound-<arch> via baselibs.conf
@@ -286,7 +302,7 @@
* Wed Apr 18 2007 sbrabec@suse.cz
- Fixed 100%% CPU load (#264637, GNOME #412951, Joe Marcus Clarke).
- Removed upstreamed esound-close-fds.patch.
-* Thu Mar 22 2007 maw@suse.de
+* Wed Mar 21 2007 maw@suse.de
- Add abuild.patch, silencing a gcc warning.
* Wed Mar 21 2007 maw@suse.de
- Update to version 0.2.37
@@ -308,7 +324,7 @@
* Thu Mar 02 2006 danw@suse.de
- close unneeded file descriptors at daemon startup (since it may
have been spawned from a random app with random things open). #154072
-* Fri Jan 27 2006 mls@suse.de
+* Thu Jan 26 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Tue Jan 24 2006 sbrabec@suse.cz
- Bi-arch preloader fix of esddsp (#140505).
@@ -317,7 +333,7 @@
- Support for tcp_wrappers and IPv6.
* Wed Jun 01 2005 sbrabec@suse.cz
- Fixed devel requirements.
-* Wed Apr 13 2005 ro@suse.de
+* Tue Apr 12 2005 ro@suse.de
- added audiofile-devel to neededforbuild
* Thu Jan 27 2005 tiwai@suse.de
- fixed the sound playback with dmix plugin.
@@ -332,7 +348,7 @@
- Updated to version 0.2.33.
* Fri Jan 16 2004 pth@suse.de
- Fix quoting in esd.m4
-* Sun Jan 11 2004 adrian@suse.de
+* Sat Jan 10 2004 adrian@suse.de
- add %%run_ldconfig
* Tue Sep 09 2003 sbrabec@suse.cz
- Updated to version 0.2.32.
@@ -350,7 +366,7 @@
- Typo fix (NBSP characters).
* Thu May 15 2003 sbrabec@suse.cz
- Require alsa-devel for esound-devel.
-* Mon May 12 2003 ro@suse.de
+* Sun May 11 2003 ro@suse.de
- do full autoreconf (run libtool)
* Mon Feb 24 2003 sbrabec@suse.cz
- Updated esd man page.
@@ -390,7 +406,7 @@
- adapted ia64 include file fix
* Fri May 25 2001 nadvornik@suse.cz
- fixed include files for ia64
-* Mon Dec 25 2000 egger@suse.de
+* Sun Dec 24 2000 egger@suse.de
- Cleaned up specfile.
- Changed group of development package.
- Recompressed sources with bzip2.
@@ -398,7 +414,7 @@
- Updated to version 0.2.22.
* Mon Nov 06 2000 tiwai@suse.de
- Split esound-devel package.
-* Wed Nov 01 2000 egger@suse.de
+* Tue Oct 31 2000 egger@suse.de
- Updated specfile to new long packagenames.
- Reworked specfile.
- Probably needs some more work; I'm taking care of that.
++++++ esound-0.2.38.tar.bz2 -> esound-0.2.39.tar.bz2 ++++++
++++ 9977 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/audio_alsa09.c new/esound-0.2.39/audio_alsa09.c
--- old/esound-0.2.38/audio_alsa09.c 2007-04-19 16:43:59.000000000 +0200
+++ new/esound-0.2.39/audio_alsa09.c 2008-07-15 18:20:04.000000000 +0200
@@ -22,9 +22,9 @@
/* Debug flag */
-int alsadbg = 0;
+static int alsadbg = 0;
/* Error flag */
-int alsaerr = 0;
+static int alsaerr = 0;
#include
/* FULL DUPLEX => two handlers */
@@ -285,6 +285,10 @@
}
}
+static void noerr(const char *file, int line, const char *func, int err,
+ const char *fmt, ...)
+{
+}
#define ARCH_esd_audio_open
@@ -294,7 +298,18 @@
int channels;
int format;
char *dev;
+ char *debug;
+ debug = getenv("ESD_DEBUG");
+ if (debug && *debug) {
+ alsadbg = atoi(debug);
+ if (alsadbg < 0)
+ alsadbg = 0;
+ } else {
+ /* suppress verbose error messages from alsa-lib */
+ snd_lib_error_set_handler(noerr);
+ }
+
if (alsadbg)
fprintf(stderr, "esd_audio_open\n");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/audio_oss.c new/esound-0.2.39/audio_oss.c
--- old/esound-0.2.38/audio_oss.c 2007-04-19 16:43:59.000000000 +0200
+++ new/esound-0.2.39/audio_oss.c 2008-07-15 18:00:03.000000000 +0200
@@ -41,7 +41,8 @@
device = esd_audio_device ? esd_audio_device : "/dev/dsp";
if ((afd = open(device, mode, 0)) == -1)
{ /* Opening device failed */
- perror(device);
+ if (errno != ENOENT)
+ perror(device);
return( -2 );
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/ChangeLog new/esound-0.2.39/ChangeLog
--- old/esound-0.2.38/ChangeLog 2007-05-03 22:42:50.000000000 +0200
+++ new/esound-0.2.39/ChangeLog 2008-07-15 18:21:59.000000000 +0200
@@ -1,3 +1,64 @@
+============================== 0.2.39 ===========================
+
+2008-07-15 Jeffrey Stedfast
+
+ * configure.ac: Release 0.2.39
+
+ * NEWS: updated
+
+ * esdlib.c Update all code to use new read/write/connect wrappers
+ that abort if the operation takes too long and/or the other end
+ drops the connection. Fixes bug #542391.
+ (read_timeout): New function to abort a read() if it takes too
+ long and/or if the other end drops the connection.
+ (write_timeout): Same idea here.
+ (connect_timeout): Same.
+
+2008-07-15 Jeffrey Stedfast
+
+ * audio_alsa09.c: Suppress verbose error messages from ALSA. Patch
+ by Stanislav Brabec to fix bug #528718.
+
+2008-07-15 Jeffrey Stedfast
+
+ * util.c (esd_get_socket_dirname): Allow for multiple esd
+ instances. Patch by Martin (Pitt?) from Ubuntu. Fixes bug #465067.
+
+2008-07-15 Jeffrey Stedfast
+
+ * esd-config.in: Fix esound-config on multilib setups (bug
+ #435652). Patch by Matthias Clasen .
+
+2008-07-15 Jeffrey Stedfast
+
+ * esddsp.in (LD_PRELOAD): search for library by itself, so that
+ both 32-bit and 64-bit programs work with a single esddsp
+ script. Fixes bug #435651.
+
+2008-07-15 Jeffrey Stedfast
+
+ * audio_oss.c (esd_audio_open): Don't report errors if /dev/dsp
+ doesn't exist (Based on Havoc's patch). Fixes bug #435649.
+
+2008-07-15 Jeffrey Stedfast
+
+ Following fixes by Rémi Cardona - fixes bug #531947
+
+ * doc/Makefile.am: Fixed up gtk-doc build.
+
+ * Makefile.am: Reorder LDADD for libesddsp
+
+ * esddsp.c (open_wrapper): If mode_t is smaller than int, pop the
+ mode as an int from the varargs.
+
+ * clients.c (get_new_clients): Cast 3rd argument of accept() to a
+ socklen_t* to fix some breakage on amd64(?).
+
+2008-06-10 German Poo-Caaman~o
+
+ * docs/esound.sgml: Updated docbooktype and fixed the build
+ without warnings from openjade.
+
============================== 0.2.38 ===========================
2007-05-03 Bastien Nocera
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/clients.c new/esound-0.2.39/clients.c
--- old/esound-0.2.38/clients.c 2007-04-19 16:43:59.000000000 +0200
+++ new/esound-0.2.39/clients.c 2008-07-15 17:44:48.000000000 +0200
@@ -155,7 +155,7 @@
if ( esd_use_ipv6 ) {
char addrbuf[INET6_ADDRSTRLEN];
- fd = accept( listen,(struct sockaddr *)&incoming6, &size_in6 );
+ fd = accept( listen,(struct sockaddr *)&incoming6, (socklen_t *) &size_in6 );
if ( fd < 0 )
goto again;
port = ntohs( incoming6.sin6_port );
@@ -168,7 +168,7 @@
else
#endif
{
- fd = accept( listen, (struct sockaddr*) &incoming, &size_in );
+ fd = accept( listen, (struct sockaddr*) &incoming, (socklen_t *) &size_in );
if ( fd < 0 )
goto again;
port = ntohs( incoming.sin_port );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/configure.ac new/esound-0.2.39/configure.ac
--- old/esound-0.2.38/configure.ac 2007-05-03 22:47:30.000000000 +0200
+++ new/esound-0.2.39/configure.ac 2008-07-15 17:50:54.000000000 +0200
@@ -1,9 +1,9 @@
AC_PREREQ([2.58])
-AC_INIT(esound, 0.2.38)
+AC_INIT(esound, 0.2.39)
ESD_MAJOR_VERSION=0
ESD_MINOR_VERSION=2
-ESD_MICRO_VERSION=38
+ESD_MICRO_VERSION=39
ESD_VERSION=$ESD_MAJOR_VERSION.$ESD_MINOR_VERSION.$ESD_MICRO_VERSION
AC_CANONICAL_TARGET([])
@@ -25,10 +25,8 @@
AC_SUBST(ESD_VERSION)
AC_SUBST(ESD_VERSION_INFO)
-pkgdocdir="\$(datadir)/doc/esound"
-AC_SUBST(pkgdocdir)
-
AC_PROG_CC
+AC_PROG_CXX
AC_PROG_CPP
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/docs/esound.sgml new/esound-0.2.39/docs/esound.sgml
--- old/esound-0.2.38/docs/esound.sgml 2007-04-19 16:43:58.000000000 +0200
+++ new/esound-0.2.39/docs/esound.sgml 2008-07-15 17:32:21.000000000 +0200
@@ -1,5 +1,6 @@
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
- ]>
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<book id="index">
@@ -727,6 +728,7 @@
<title>EsounD Command Reference</title>
<refentry id="refentry-esd">
+ <indexterm id="index-esd"><primary>esd</primary></indexterm>
<refmeta>
<refentrytitle>esd</refentrytitle>
@@ -736,7 +738,6 @@
<refnamediv>
<refname>esd</refname>
<refpurpose>The Enlightened Sound Daemon</refpurpose>
- <indexterm id="index-esd"><primary>esd</primary></indexterm>
</refnamediv>
<refsynopsisdiv>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/docs/Makefile.am new/esound-0.2.39/docs/Makefile.am
--- old/esound-0.2.38/docs/Makefile.am 2007-04-19 16:43:58.000000000 +0200
+++ new/esound-0.2.39/docs/Makefile.am 2008-07-15 17:49:42.000000000 +0200
@@ -14,8 +14,6 @@
CLEANFILES = esound.dvi esound.ps esound.tex esound.aux esound.log
-htmldir=$(pkgdocdir)/html
-
if HAVE_JW
noinst_DATA = html/index.html
else
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/esd-config.in new/esound-0.2.39/esd-config.in
--- old/esound-0.2.38/esd-config.in 2007-04-19 16:43:59.000000000 +0200
+++ new/esound-0.2.39/esd-config.in 2008-07-15 18:08:02.000000000 +0200
@@ -1,10 +1,7 @@
#!/bin/sh
-audiofile_libs="@AUDIOFILE_LIBS@"
-audiofile_cflags="@AUDIOFILE_CFLAGS@"
-
-prefix=@prefix@
-exec_prefix=@exec_prefix@
+prefix=`pkg-config --variable prefix esound`
+exec_prefix=`pkg-config --variable exec_prefix esound`
exec_prefix_set=no
usage="\
@@ -39,32 +36,13 @@
echo $exec_prefix
;;
--version)
- echo @ESD_VERSION@
+ pkg-config --modversion esound
;;
--cflags)
- if test @includedir@ != /usr/include ; then
- includes=-I@includedir@
- for i in $audiofile_cflags ; do
- if test $i = -I@includedir@ ; then
- includes=""
- fi
- done
- fi
- echo $includes $audiofile_cflags
+ pkg-config --cflags esound
;;
--libs)
- my_audiofile_libs=
- libdirs=-L@libdir@
- for i in $audiofile_libs ; do
- if test $i != -L@libdir@ ; then
- if test -z "$my_audiofile_libs" ; then
- my_audiofile_libs="$i"
- else
- my_audiofile_libs="$my_audiofile_libs $i"
- fi
- fi
- done
- echo $libdirs -lesd $my_audiofile_libs @LIBS@
+ pkg-config --libs esound
;;
*)
echo "${usage}" 1>&2
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/esddsp new/esound-0.2.39/esddsp
--- old/esound-0.2.38/esddsp 2007-05-03 22:48:09.000000000 +0200
+++ new/esound-0.2.39/esddsp 2008-07-15 18:26:12.000000000 +0200
@@ -103,10 +103,10 @@
fi
# setup esd to hijack calls made to /dev/dsp
-prefix=/usr/
+prefix=/usr/local
exec_prefix=${prefix}
-LD_PRELOAD="/usr/lib64//libesddsp.so.0 /usr/lib64//libesd.so.0 $LD_PRELOAD"
+LD_PRELOAD="libesddsp.so.0 libesd.so.0 $LD_PRELOAD"
export LD_PRELOAD
# invoke the program with the args given
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/esddsp.c new/esound-0.2.39/esddsp.c
--- old/esound-0.2.38/esddsp.c 2007-04-19 16:43:59.000000000 +0200
+++ new/esound-0.2.39/esddsp.c 2008-07-15 17:47:20.000000000 +0200
@@ -225,7 +225,10 @@
dsp_init ();
va_start (args, flags);
- mode = va_arg (args, mode_t);
+ if (sizeof (mode_t) < sizeof (int))
+ mode = va_arg (args, int);
+ else
+ mode = va_arg (args, mode_t);
va_end (args);
if (!strcmp (pathname, "/dev/dsp"))
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/esddsp.in new/esound-0.2.39/esddsp.in
--- old/esound-0.2.38/esddsp.in 2007-04-19 16:43:59.000000000 +0200
+++ new/esound-0.2.39/esddsp.in 2008-07-15 18:05:18.000000000 +0200
@@ -106,7 +106,7 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
-LD_PRELOAD="@libdir@/libesddsp.so.@ESD_MAJOR_VERSION@ @libdir@/libesd.so.@ESD_MAJOR_VERSION@ $LD_PRELOAD"
+LD_PRELOAD="libesddsp.so.@ESD_MAJOR_VERSION@ libesd.so.@ESD_MAJOR_VERSION@ $LD_PRELOAD"
export LD_PRELOAD
# invoke the program with the args given
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/esdlib.c new/esound-0.2.39/esdlib.c
--- old/esound-0.2.38/esdlib.c 2007-04-19 16:43:59.000000000 +0200
+++ new/esound-0.2.39/esdlib.c 2008-07-15 17:35:15.000000000 +0200
@@ -20,9 +20,11 @@
#include
#include
#include
+#include
#include
+
#ifndef SUN_LEN
#define SUN_LEN(ptr) ((size_t) (((struct sockaddr_un *) 0)->sun_path) \
+ strlen ((ptr)->sun_path))
@@ -75,6 +77,88 @@
#endif
#endif
+static ssize_t
+read_timeout (int fd, char *buf, size_t buflen)
+{
+ struct pollfd pfd[1];
+ int flags, rv;
+ ssize_t n;
+
+ pfd[0].fd = fd;
+ pfd[0].events = POLLIN;
+
+ do {
+ pfd[0].revents = 0;
+ rv = poll (pfd, 1, 100);
+ } while (rv == -1 && errno == EINTR);
+
+ if (rv < 1 || !(pfd[0].revents & POLLIN)) {
+ errno = ETIMEDOUT;
+ return -1;
+ }
+
+ if ((flags = fcntl (fd, F_GETFL)) == -1)
+ return -1;
+
+ fcntl (fd, F_SETFL, flags | O_NONBLOCK);
+
+ do {
+ n = read (fd, buf, buflen);
+ } while (n == -1 && errno == EINTR);
+
+ if (n == -1) {
+ rv = errno;
+ fcntl (fd, F_SETFL, flags);
+ errno = rv;
+ return -1;
+ }
+
+ fcntl (fd, F_SETFL, flags);
+
+ return n;
+}
+
+static ssize_t
+write_timeout (int fd, const char *buf, size_t buflen)
+{
+ struct pollfd pfd[1];
+ size_t nwritten = 0;
+ int flags, rv;
+ ssize_t n;
+
+ if ((flags = fcntl (fd, F_GETFL)) == -1)
+ return -1;
+
+ fcntl (fd, F_SETFL, flags | O_NONBLOCK);
+
+ do {
+ pfd[0].fd = fd;
+ pfd[0].events = POLLOUT;
+
+ do {
+ pfd[0].revents = 0;
+ rv = poll (pfd, 1, 100);
+ } while (rv == -1 && errno == EINTR);
+
+ if (rv < 1 || !(pfd[0].revents & POLLOUT)) {
+ fcntl (fd, F_SETFL, flags);
+ errno = ETIMEDOUT;
+ return -1;
+ }
+
+ do {
+ n = write (fd, buf + nwritten, buflen - nwritten);
+ } while (n == -1 && errno == EINTR);
+
+ if (n > 0)
+ nwritten += n;
+ } while (nwritten < buflen);
+
+ fcntl (fd, F_SETFL, flags);
+
+ return nwritten;
+}
+
/**
* esd_set_socket_buffers: set buffer lengths on a socket to optimal.
* @sock: ESD socket
@@ -124,13 +208,13 @@
/* a bad day - ignore the SIGPIPE, then make sure to catch all errors */
phandler = signal( SIGPIPE, dummy_signal ); /* for closed esd conns */
/* send the necessary information */
- if ( write( esd, &proto, sizeof(proto) ) != sizeof(proto) ) {
+ if ( write_timeout( esd, (const char *) &proto, sizeof(proto) ) != sizeof(proto) ) {
signal( SIGPIPE, phandler );
return -1;
}
/* get the latency back from the server */
- if ( read( esd, &lag, sizeof(lag) ) != sizeof(lag) ) {
+ if ( read_timeout( esd, (char *) &lag, sizeof(lag) ) != sizeof(lag) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -149,6 +233,7 @@
return lag;
}
+
/**
* esd_send_auth: send authorization to esd
* @sock: ESD socket
@@ -207,25 +292,26 @@
}
esound_genrand(auth_key, ESD_KEY_LEN);
- write( auth_fd, auth_key, ESD_KEY_LEN);
- } else
+ write_timeout( auth_fd, (const char *) auth_key, ESD_KEY_LEN);
+ } else {
/* read the key from the authorization file */
- if ( ESD_KEY_LEN != read( auth_fd, auth_key, ESD_KEY_LEN ) )
+ if ( ESD_KEY_LEN != read_timeout( auth_fd, (char *) auth_key, ESD_KEY_LEN ) )
goto exit_fd;
-
+ }
+
/* send the key to the server */
- if ( ESD_KEY_LEN != write( sock, auth_key, ESD_KEY_LEN ) )
+ if ( ESD_KEY_LEN != write_timeout( sock, (const char *) auth_key, ESD_KEY_LEN ) )
/* send key failed */
goto exit_fd;
/* send the key to the server */
- if ( sizeof(endian) != write( sock, &endian, sizeof(endian) ) )
+ if ( sizeof(endian) != write_timeout( sock, (const char *) &endian, sizeof(endian) ) )
/* send key failed */
goto exit_fd;
/* read auth reply. esd will reply 1 as an int for yes and 0 for no */
/* then close the connection */
- if ( sizeof(reply) != read( sock, &reply, sizeof(reply) ) ) {
+ if ( sizeof(reply) != read_timeout( sock, (char *) &reply, sizeof(reply) ) ) {
/* read ok failed */
retval = 0;
goto exit_fd;
@@ -278,10 +364,10 @@
printf( "esound locking\n" );
*/
- write( esd, &proto, sizeof(proto) );
+ write_timeout( esd, (const char *) &proto, sizeof(proto) );
esd_send_auth( esd );
- if ( read( esd, &ok, sizeof(ok) ) != sizeof(ok) ) {
+ if ( read_timeout( esd, (char *) &ok, sizeof(ok) ) != sizeof(ok) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -317,10 +403,10 @@
printf( "esound unlocking\n" );
*/
- write( esd, &proto, sizeof(proto) );
+ write_timeout( esd, (const char *) &proto, sizeof(proto) );
esd_send_auth( esd );
- if ( read( esd, &ok, sizeof(ok) ) != sizeof(ok) ) {
+ if ( read_timeout( esd, (char *) &ok, sizeof(ok) ) != sizeof(ok) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -357,10 +443,10 @@
printf( "esound standing by\n" );
*/
- write( esd, &proto, sizeof(proto) );
+ write_timeout( esd, (const char *) &proto, sizeof(proto) );
esd_send_auth( esd );
- if ( read( esd, &ok, sizeof(ok) ) != sizeof(ok) ) {
+ if ( read_timeout( esd, (char *) &ok, sizeof(ok) ) != sizeof(ok) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -396,10 +482,10 @@
printf( "esound resuming\n" );
*/
- write( esd, &proto, sizeof(proto) );
+ write_timeout( esd, (const char *) &proto, sizeof(proto) );
esd_send_auth( esd );
- if ( read( esd, &ok, sizeof(ok) ) != sizeof(ok) ) {
+ if ( read_timeout( esd, (char *) &ok, sizeof(ok) ) != sizeof(ok) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -408,6 +494,43 @@
return ok;
}
+static int
+connect_timeout (int sockfd, const struct sockaddr *serv_addr, size_t addrlen, int timeout)
+{
+ struct pollfd pfd[1];
+ int flags, rv;
+
+ if ((flags = fcntl (sockfd, F_GETFL)) == -1)
+ return -1;
+
+ fcntl (sockfd, F_SETFL, flags | O_NONBLOCK);
+
+ if (connect (sockfd, serv_addr, addrlen) == 0) {
+ fcntl (sockfd, F_SETFL, flags);
+ return 0;
+ }
+
+ if (errno != EINPROGRESS)
+ return -1;
+
+ pfd[0].fd = sockfd;
+ pfd[0].events = POLLIN | POLLOUT;
+
+ do {
+ pfd[0].revents = 0;
+ rv = poll (pfd, 1, timeout);
+ } while (rv == -1 && errno == EINTR);
+
+ if (pfd[0].revents & (POLLIN | POLLOUT)) {
+ /* success, we are now connected */
+ fcntl (sockfd, F_SETFL, flags);
+ return 0;
+ }
+
+ /* took too long / error connecting, either way: epic fail */
+ return -1;
+}
+
/**
* esd_connect_tcpip: make a TCPIP connection to ESD
* @host: specifies hostname and port to connect to as "hostname:port"
@@ -512,7 +635,7 @@
goto error_out;
}
- if ( connect( socket_out, res->ai_addr, res->ai_addrlen ) != -1 )
+ if ( connect_timeout ( socket_out, res->ai_addr, res->ai_addrlen, 1000 ) != -1 )
break;
close ( socket_out );
@@ -596,9 +719,9 @@
socket_addr.sin_family = AF_INET;
socket_addr.sin_port = htons( port );
- if ( connect( socket_out,
- (struct sockaddr *) &socket_addr,
- sizeof(struct sockaddr_in) ) < 0 )
+ if ( connect_timeout ( socket_out,
+ (struct sockaddr *) &socket_addr,
+ sizeof(struct sockaddr_in), 1000 ) < 0 )
goto error_out;
}
@@ -650,8 +773,7 @@
socket_unix.sun_family = AF_UNIX;
strncpy(socket_unix.sun_path, ESD_UNIX_SOCKET_NAME, sizeof(socket_unix.sun_path));
- if ( connect( socket_out,
- (struct sockaddr *) &socket_unix, SUN_LEN(&socket_unix) ) < 0 )
+ if ( connect_timeout ( socket_out, (struct sockaddr *) &socket_unix, SUN_LEN(&socket_unix), 100 ) < 0 )
goto error_out;
return socket_out;
@@ -795,7 +917,7 @@
if (ret == 1) {
char c;
- ret = read (esd_pipe[0], &c, 1);
+ ret = read_timeout (esd_pipe[0], &c, 1);
if (ret == 1) {
socket_out = esd_connect_unix();
@@ -857,19 +979,19 @@
/* a bad day - ignore the SIGPIPE, then make sure to catch all errors */
phandler = signal( SIGPIPE, dummy_signal ); /* for closed esd conns */
/* send the audio format information */
- if ( write( sock, &proto, sizeof(proto) ) != sizeof(proto) ) {
+ if ( write_timeout( sock, (const char *) &proto, sizeof(proto) ) != sizeof(proto) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if ( write( sock, &format, sizeof(format) ) != sizeof(format) ) {
+ if ( write_timeout( sock, (const char *) &format, sizeof(format) ) != sizeof(format) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if( write( sock, &rate, sizeof(rate) ) != sizeof(rate) ) {
+ if( write_timeout( sock, (const char *) &rate, sizeof(rate) ) != sizeof(rate) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if( write( sock, name_buf, ESD_NAME_MAX ) != ESD_NAME_MAX ) {
+ if( write_timeout( sock, name_buf, ESD_NAME_MAX ) != ESD_NAME_MAX ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -971,19 +1093,19 @@
/* a bad day - ignore the SIGPIPE, then make sure to catch all errors */
phandler = signal( SIGPIPE, dummy_signal ); /* for closed esd conns */
/* send the audio format information */
- if ( write( sock, &proto, sizeof(proto) ) != sizeof(proto) ) {
+ if ( write_timeout( sock, (const char *) &proto, sizeof(proto) ) != sizeof(proto) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if ( write( sock, &format, sizeof(format) ) != sizeof(format) ) {
+ if ( write_timeout( sock, (const char *) &format, sizeof(format) ) != sizeof(format) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if( write( sock, &rate, sizeof(rate) ) != sizeof(rate) ) {
+ if( write_timeout( sock, (const char *) &rate, sizeof(rate) ) != sizeof(rate) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if( write( sock, name_buf, ESD_NAME_MAX ) != ESD_NAME_MAX ) {
+ if( write_timeout( sock, name_buf, ESD_NAME_MAX ) != ESD_NAME_MAX ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1052,19 +1174,19 @@
/* a bad day - ignore the SIGPIPE, then make sure to catch all errors */
phandler = signal( SIGPIPE, dummy_signal ); /* for closed esd conns */
/* send the audio format information */
- if ( write( sock, &proto, sizeof(proto) ) != sizeof(proto) ) {
+ if ( write_timeout( sock, (const char *) &proto, sizeof(proto) ) != sizeof(proto) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if ( write( sock, &format, sizeof(format) ) != sizeof(format) ) {
+ if ( write_timeout( sock, (const char *) &format, sizeof(format) ) != sizeof(format) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if( write( sock, &rate, sizeof(rate) ) != sizeof(rate) ) {
+ if( write_timeout( sock, (const char *) &rate, sizeof(rate) ) != sizeof(rate) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if( write( sock, name_buf, ESD_NAME_MAX ) != ESD_NAME_MAX ) {
+ if( write_timeout( sock, name_buf, ESD_NAME_MAX ) != ESD_NAME_MAX ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1122,19 +1244,19 @@
/* a bad day - ignore the SIGPIPE, then make sure to catch all errors */
phandler = signal( SIGPIPE, dummy_signal ); /* for closed esd conns */
/* send the audio format information */
- if ( write( sock, &proto, sizeof(proto) ) != sizeof(proto) ) {
+ if ( write_timeout( sock, (const char *) &proto, sizeof(proto) ) != sizeof(proto) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if ( write( sock, &format, sizeof(format) ) != sizeof(format) ) {
+ if ( write_timeout( sock, (const char *) &format, sizeof(format) ) != sizeof(format) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if( write( sock, &rate, sizeof(rate) ) != sizeof(rate) ) {
+ if( write_timeout( sock, (const char *) &rate, sizeof(rate) ) != sizeof(rate) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if( write( sock, name_buf, ESD_NAME_MAX ) != ESD_NAME_MAX ) {
+ if( write_timeout( sock, name_buf, ESD_NAME_MAX ) != ESD_NAME_MAX ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1235,24 +1357,24 @@
/* a bad day - ignore the SIGPIPE, then make sure to catch all errors */
phandler = signal( SIGPIPE, dummy_signal ); /* for closed esd conns */
/* send the necessary information */
- if ( write( esd, &proto, sizeof(proto) ) != sizeof(proto) ) {
+ if ( write_timeout( esd, (const char *) &proto, sizeof(proto) ) != sizeof(proto) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if ( write( esd, &format, sizeof(format) ) != sizeof(format) ) {
+ if ( write_timeout( esd, (const char *) &format, sizeof(format) ) != sizeof(format) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if ( write( esd, &rate, sizeof(rate) ) != sizeof(rate) ) {
+ if ( write_timeout( esd, (const char *) &rate, sizeof(rate) ) != sizeof(rate) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if ( write( esd, &size, sizeof(size) ) != sizeof(size) ) {
+ if ( write_timeout( esd, (const char *) &size, sizeof(size) ) != sizeof(size) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if ( write( esd, name_buf, ESD_NAME_MAX ) != ESD_NAME_MAX ) {
+ if ( write_timeout( esd, name_buf, ESD_NAME_MAX ) != ESD_NAME_MAX ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1261,7 +1383,7 @@
/* fsync( esd ); */
/* get the sample id back from the server */
- if ( read( esd, &id, sizeof(id) ) != sizeof(id) ) {
+ if ( read_timeout( esd, (char *) &id, sizeof(id) ) != sizeof(id) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1290,7 +1412,7 @@
/* a bad day - ignore the SIGPIPE, then make sure to catch all errors */
phandler = signal( SIGPIPE, dummy_signal ); /* for closed esd conns */
/* get the sample id back from the server */
- if ( read( esd, &id, sizeof(id) ) != sizeof(id) ) {
+ if ( read_timeout( esd, (char *) &id, sizeof(id) ) != sizeof(id) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1319,7 +1441,7 @@
/* we need to catch SIGPIPE to avoid the default handler giving us */
/* a bad day - ignore the SIGPIPE, then make sure to catch all errors */
phandler = signal( SIGPIPE, dummy_signal ); /* for closed esd conns */
- if ( write( esd, &proto, sizeof(proto) ) != sizeof(proto) ) {
+ if ( write_timeout( esd, (const char *) &proto, sizeof(proto) ) != sizeof(proto) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1330,7 +1452,7 @@
else
namebuf[ 0 ] = '\0';
- if ( write( esd, namebuf, ESD_NAME_MAX ) != ESD_NAME_MAX ) {
+ if ( write_timeout( esd, namebuf, ESD_NAME_MAX ) != ESD_NAME_MAX ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1339,7 +1461,7 @@
/* fsync( esd ); */
/* get the sample id back from the server */
- if ( read( esd, &id, sizeof(id) ) != sizeof(id) ) {
+ if ( read_timeout( esd, (char *) &id, sizeof(id) ) != sizeof(id) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1371,18 +1493,18 @@
/* a bad day - ignore the SIGPIPE, then make sure to catch all errors */
phandler = signal( SIGPIPE, dummy_signal ); /* for closed esd conns */
/* send the necessary information */
- if ( write( esd, &proto, sizeof(proto) ) != sizeof(proto) ) {
+ if ( write_timeout( esd, (const char *) &proto, sizeof(proto) ) != sizeof(proto) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if ( write( esd, &sample, sizeof(sample) ) != sizeof(sample) ) {
+ if ( write_timeout( esd, (const char *) &sample, sizeof(sample) ) != sizeof(sample) ) {
signal( SIGPIPE, phandler );
return -1;
}
/* fsync( esd ); */
/* get the sample id back from the server */
- if ( read( esd, &id, sizeof(id) ) != sizeof(id) ) {
+ if ( read_timeout( esd, (char *) &id, sizeof(id) ) != sizeof(id) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1413,11 +1535,11 @@
/* a bad day - ignore the SIGPIPE, then make sure to catch all errors */
phandler = signal( SIGPIPE, dummy_signal ); /* for closed esd conns */
/* send the necessary information */
- if ( write( esd, &proto, sizeof(proto) ) != sizeof(proto) ) {
+ if ( write_timeout( esd, (const char *) &proto, sizeof(proto) ) != sizeof(proto) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if ( write( esd, &sample, sizeof(sample) ) != sizeof(sample) ) {
+ if ( write_timeout( esd, (const char *) &sample, sizeof(sample) ) != sizeof(sample) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1425,7 +1547,7 @@
fsync( esd );
#endif
/* get the sample id back from the server */
- if ( read( esd, &is_ok, sizeof(is_ok) ) != sizeof(is_ok) ) {
+ if ( read_timeout( esd, (char *) &is_ok, sizeof(is_ok) ) != sizeof(is_ok) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1457,18 +1579,18 @@
/* a bad day - ignore the SIGPIPE, then make sure to catch all errors */
phandler = signal( SIGPIPE, dummy_signal ); /* for closed esd conns */
/* send the necessary information */
- if ( write( esd, &proto, sizeof(proto) ) != sizeof(proto) ) {
+ if ( write_timeout( esd, (const char *) &proto, sizeof(proto) ) != sizeof(proto) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if ( write( esd, &sample, sizeof(sample) ) != sizeof(sample) ) {
+ if ( write_timeout( esd, (const char *) &sample, sizeof(sample) ) != sizeof(sample) ) {
signal( SIGPIPE, phandler );
return -1;
}
/* fsync( esd ); */
/* get the sample id back from the server */
- if ( read( esd, &is_ok, sizeof(is_ok) ) != sizeof(is_ok) ) {
+ if ( read_timeout( esd, (char *) &is_ok, sizeof(is_ok) ) != sizeof(is_ok) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1499,18 +1621,18 @@
/* a bad day - ignore the SIGPIPE, then make sure to catch all errors */
phandler = signal( SIGPIPE, dummy_signal ); /* for closed esd conns */
/* send the necessary information */
- if ( write( esd, &proto, sizeof(proto) ) != sizeof(proto) ) {
+ if ( write_timeout( esd, (const char *) &proto, sizeof(proto) ) != sizeof(proto) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if ( write( esd, &sample, sizeof(sample) ) != sizeof(sample) ) {
+ if ( write_timeout( esd, (const char *) &sample, sizeof(sample) ) != sizeof(sample) ) {
signal( SIGPIPE, phandler );
return -1;
}
/* fsync( esd ); */
/* get the sample id back from the server */
- if ( read( esd, &is_ok, sizeof(is_ok) ) != sizeof(is_ok) ) {
+ if ( read_timeout( esd, (char *) &is_ok, sizeof(is_ok) ) != sizeof(is_ok) ) {
signal( SIGPIPE, phandler );
return -1;
}
@@ -1541,18 +1663,18 @@
/* a bad day - ignore the SIGPIPE, then make sure to catch all errors */
phandler = signal( SIGPIPE, dummy_signal ); /* for closed esd conns */
/* send the necessary information */
- if ( write( esd, &proto, sizeof(proto) ) != sizeof(proto) ) {
+ if ( write_timeout( esd, (const char *) &proto, sizeof(proto) ) != sizeof(proto) ) {
signal( SIGPIPE, phandler );
return -1;
}
- if ( write( esd, &sample, sizeof(sample) ) != sizeof(sample) ) {
+ if ( write_timeout( esd, (const char *) &sample, sizeof(sample) ) != sizeof(sample) ) {
signal( SIGPIPE, phandler );
return -1;
}
/* fsync( esd ); */
/* get the sample id back from the server */
- if ( read( esd, &is_ok, sizeof(is_ok) ) != sizeof(is_ok) ) {
+ if ( read_timeout( esd, (char *) &is_ok, sizeof(is_ok) ) != sizeof(is_ok) ) {
signal( SIGPIPE, phandler );
return -1;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/esound.spec new/esound-0.2.39/esound.spec
--- old/esound-0.2.38/esound.spec 2007-05-03 22:48:09.000000000 +0200
+++ new/esound-0.2.39/esound.spec 2008-07-15 17:53:05.000000000 +0200
@@ -1,7 +1,7 @@
# Note that this is NOT a relocatable package
Summary: Allows several audio streams to play on a single audio device.
Name: esound
-Version: 0.2.38
+Version: 0.2.39
Release: 1
License: GPL
Group: System Environment/Daemons
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/INSTALL new/esound-0.2.39/INSTALL
--- old/esound-0.2.38/INSTALL 2007-05-03 22:43:15.000000000 +0200
+++ new/esound-0.2.39/INSTALL 2008-07-15 17:52:58.000000000 +0200
@@ -2,7 +2,7 @@
*************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006 Free Software Foundation, Inc.
+2006, 2007 Free Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
@@ -67,6 +67,9 @@
all sorts of other programs in order to regenerate files that came
with the distribution.
+ 6. Often, you can also type `make uninstall' to remove the installed
+ files again.
+
Compilers and Options
=====================
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/MAINTAINERS new/esound-0.2.39/MAINTAINERS
--- old/esound-0.2.38/MAINTAINERS 2007-04-19 16:43:59.000000000 +0200
+++ new/esound-0.2.39/MAINTAINERS 2008-07-15 17:32:21.000000000 +0200
@@ -1,4 +1,8 @@
-Esound is maintained by David Schleef .
+Esound is maintained by
+
+David Schleef
+E-Mail: ds@schleef.org
+Userid: ds
Please use gnome-multimedia@gnome.org mailing list for maintenence
related questions and issues. Private email will likely be dropped
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/Makefile.am new/esound-0.2.39/Makefile.am
--- old/esound-0.2.38/Makefile.am 2007-04-19 16:43:59.000000000 +0200
+++ new/esound-0.2.39/Makefile.am 2008-07-15 17:42:58.000000000 +0200
@@ -61,7 +61,7 @@
audio_win32.c
libesddsp_la_LDFLAGS = -version-info $(ESD_VERSION_INFO)
-libesddsp_la_LIBADD = $(DL_LIB) -lm libesd.la
+libesddsp_la_LIBADD = libesd.la $(DL_LIB) -lm
libesddsp_la_SOURCES = \
esddsp.c
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/NEWS new/esound-0.2.39/NEWS
--- old/esound-0.2.38/NEWS 2007-05-03 22:42:44.000000000 +0200
+++ new/esound-0.2.39/NEWS 2008-07-15 18:31:46.000000000 +0200
@@ -1,4 +1,15 @@
===============
+Version 0.2.39
+===============
+ * Fixed esd client-side code to not hang if esd crashes/hangs
+ or otherwise becomes unreachable (Jeffrey Stedfast)
+ * Suppress verbose error messages from ALSA (Stanislav Brabec)
+ * Allow for multiple esd instances
+ * Fix esound-config for multi-lib setups (Matthias Clasen)
+ * Don't report errors about /dev/dsp not existing (Havoc Pennington)
+ * Various other build fixes for AMD64 (Rémi Cardona)
+
+===============
Version 0.2.38
===============
* Fix 100% CPU problem introduced in 0.2.37 (Joe Marcus Clarke)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/esound-0.2.38/util.c new/esound-0.2.39/util.c
--- old/esound-0.2.38/util.c 2007-04-19 16:43:59.000000000 +0200
+++ new/esound-0.2.39/util.c 2008-07-15 18:13:01.000000000 +0200
@@ -5,6 +5,7 @@
#include
#include
#include
+#include
/* 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;
}
++++++ esound-biarch.patch ++++++
--- /var/tmp/diff_new_pack.SD1502/_old 2008-08-15 23:08:14.000000000 +0200
+++ /var/tmp/diff_new_pack.SD1502/_new 2008-08-15 23:08:14.000000000 +0200
@@ -4,7 +4,7 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
--LD_PRELOAD="@libdir@/libesddsp.so.@ESD_MAJOR_VERSION@ @libdir@/libesd.so.@ESD_MAJOR_VERSION@ $LD_PRELOAD"
+-LD_PRELOAD="libesddsp.so.@ESD_MAJOR_VERSION@ libesd.so.@ESD_MAJOR_VERSION@ $LD_PRELOAD"
+LD_PRELOAD="${exec_prefix}/\$LIB/libesddsp.so.@ESD_MAJOR_VERSION@ ${exec_prefix}/\$LIB/libesd.so.@ESD_MAJOR_VERSION@ $LD_PRELOAD"
export LD_PRELOAD
++++++ esound-esddsp-no-version-info.patch ++++++
--- /var/tmp/diff_new_pack.SD1502/_old 2008-08-15 23:08:14.000000000 +0200
+++ /var/tmp/diff_new_pack.SD1502/_new 2008-08-15 23:08:14.000000000 +0200
@@ -1,5 +1,18 @@
---- Makefile.am
-+++ Makefile.am
+diff -Naur esound-0.2.39/esddsp.in esound-0.2.39-mp//esddsp.in
+--- esound-0.2.39/esddsp.in 2008-07-15 12:05:18.000000000 -0400
++++ esound-0.2.39-mp//esddsp.in 2008-08-06 16:13:20.000000000 -0400
+@@ -106,7 +106,7 @@
+ prefix=@prefix@
+ exec_prefix=@exec_prefix@
+
+-LD_PRELOAD="${exec_prefix}/\$LIB/libesddsp.so.@ESD_MAJOR_VERSION@ ${exec_prefix}/\$LIB/libesd.so.@ESD_MAJOR_VERSION@ $LD_PRELOAD"
++LD_PRELOAD="${exec_prefix}/\$LIB/@PACKAGE@/libesddsp.so ${exec_prefix}/\$LIB/libesd.so.@ESD_MAJOR_VERSION@ $LD_PRELOAD"
+ export LD_PRELOAD
+
+ # invoke the program with the args given
+diff -Naur esound-0.2.39/Makefile.am esound-0.2.39-mp//Makefile.am
+--- esound-0.2.39/Makefile.am 2008-07-15 11:42:58.000000000 -0400
++++ esound-0.2.39-mp//Makefile.am 2008-08-06 16:12:54.000000000 -0400
@@ -10,7 +10,8 @@
if BUILD_ESDDSP
@@ -25,17 +38,6 @@
-libesddsp_la_LDFLAGS = -version-info $(ESD_VERSION_INFO)
+libesddsp_la_LDFLAGS = -module -avoid-version
- libesddsp_la_LIBADD = $(DL_LIB) -lm libesd.la
+ libesddsp_la_LIBADD = libesd.la $(DL_LIB) -lm
libesddsp_la_SOURCES = \
---- esddsp.in
-+++ esddsp.in
-@@ -106,7 +106,7 @@
- prefix=@prefix@
- exec_prefix=@exec_prefix@
-
--LD_PRELOAD="${exec_prefix}/\$LIB/libesddsp.so.@ESD_MAJOR_VERSION@ ${exec_prefix}/\$LIB/libesd.so.@ESD_MAJOR_VERSION@ $LD_PRELOAD"
-+LD_PRELOAD="${exec_prefix}/\$LIB/@PACKAGE@/libesddsp.so ${exec_prefix}/\$LIB/libesd.so.@ESD_MAJOR_VERSION@ $LD_PRELOAD"
- export LD_PRELOAD
-
- # invoke the program with the args given
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org