Hi,

Included debdiff (0.8.8-3 -> 0.8.8-3local1) for the local build I rolled
of libao fixes both of these bugs.

William
diff -u libao-0.8.8/debian/rules libao-0.8.8/debian/rules
--- libao-0.8.8/debian/rules
+++ libao-0.8.8/debian/rules
@@ -106,7 +106,7 @@
 	dh_installmime
 	dh_installman
 	dh_link
-	dh_strip
+	dh_strip --dbg-package=libao-dbg
 	dh_compress
 	dh_fixperms
 	dh_makeshlibs -V
diff -u libao-0.8.8/debian/compat libao-0.8.8/debian/compat
--- libao-0.8.8/debian/compat
+++ libao-0.8.8/debian/compat
@@ -1 +1 @@
-4
+5
diff -u libao-0.8.8/debian/control libao-0.8.8/debian/control
--- libao-0.8.8/debian/control
+++ libao-0.8.8/debian/control
@@ -4,7 +4,7 @@
 Maintainer: Debian Xiph.org Maintainers <[EMAIL PROTECTED]>
 Uploaders: Christopher L Cheney <[EMAIL PROTECTED]>, Adeodato Simó <[EMAIL PROTECTED]>, Clint Adams <[EMAIL PROTECTED]>
 Build-Depends: autotools-dev, debhelper, quilt, libartsc0-dev, libasound2-dev [!kfreebsd-i386 !hurd-i386 !kfreebsd-amd64], libaudio-dev, libesd0-dev, libpulse-dev, libxt-dev, libxau-dev
-Standards-Version: 3.7.2
+Standards-Version: 3.7.3
 
 Package: libao2
 Architecture: any
@@ -25,0 +26,7 @@
+
+Package: libao-dbg
+Architecture: any
+Section: libdevel
+Depends: libao2 (= ${binary:Version}), libc6-dev
+Description: Cross Platform Audio Output Library Debug Symbols
+ The libao-dev package contains the debug symbols for libao.
diff -u libao-0.8.8/debian/changelog libao-0.8.8/debian/changelog
--- libao-0.8.8/debian/changelog
+++ libao-0.8.8/debian/changelog
@@ -1,3 +1,13 @@
+libao (0.8.8-3local1) unstable; urgency=low
+
+  * debian/control, debian/rules: Add debug symbols package libao-dbg.
+  * debian/patches/01_fix_arts_init_wackyness.patch:
+    Fix arts_init() wackyness where on non-KDE systems, it causes _exit()
+    to be called in ao_initialize().  (Closes: #464638, #461119, #440040).
+  * Standards-Version bump; no changes required.
+
+ -- William Pitcock <[EMAIL PROTECTED]>  Thu, 07 Feb 2008 22:00:25 -0600
+
 libao (0.8.8-3) unstable; urgency=low
 
   * Change default_driver from 'alsa09' to 'alsa' in /etc/libao.conf.
only in patch2:
unchanged:
--- libao-0.8.8.orig/debian/patches/series
+++ libao-0.8.8/debian/patches/series
@@ -0,0 +1 @@
+01_fix_arts_init_wackyness.patch
only in patch2:
unchanged:
--- libao-0.8.8.orig/debian/patches/01_fix_arts_init_wackyness.patch
+++ libao-0.8.8/debian/patches/01_fix_arts_init_wackyness.patch
@@ -0,0 +1,46 @@
+diff -urN libao-0.8.8/src/plugins/arts/ao_arts.c libao-0.8.8+patched/src/plugins/arts/ao_arts.c
+--- libao-0.8.8/src/plugins/arts/ao_arts.c	2007-05-24 04:19:07.000000000 -0500
++++ libao-0.8.8+patched/src/plugins/arts/ao_arts.c	2008-02-07 21:55:50.000000000 -0600
+@@ -57,17 +57,9 @@
+ 
+ int ao_plugin_test()
+ {
+-	if (arts_init() == 0) {
+-#ifdef HAVE_ARTS_SUSPENDED
+-		if (arts_suspended() == 1) {
+-			arts_free();
+-			return 0;
+-		}
+-#endif
+-		arts_free();
+-		return 1;
+-	} else
+-		return 0;
++	/* blindly assume that this plugin is ok to use;
++	   arts_init() is volatile (Debian #464638) */
++	return 1;
+ }
+ 
+ 
+@@ -76,10 +68,20 @@
+ 	return &ao_arts_info;
+ }
+ 
+-
+ int ao_plugin_device_init(ao_device *device)
+ {
+ 	ao_arts_internal *internal;
++	static int arts_initted = 0;
++
++	if (!arts_initted && arts_init() == 0) {
++#ifdef HAVE_ARTS_SUSPENDED
++		if (arts_suspended() == 1) {
++			arts_free();
++			return 0;
++		}
++#endif
++		arts_initted++;
++	}
+ 
+ 	internal = (ao_arts_internal *) malloc(sizeof(ao_arts_internal));
+ 

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to