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)); +
signature.asc
Description: This is a digitally signed message part