NetBSD Problem Report #29644

From tonio@arcelot.loria.fr  Wed Mar  9 21:24:54 2005
Return-Path: <tonio@arcelot.loria.fr>
Received: from arcelot.loria.fr (arcelot.loria.fr [152.81.9.88])
	by narn.netbsd.org (Postfix) with ESMTP id CC9A063B104
	for <gnats-bugs@gnats.NetBSD.org>; Wed,  9 Mar 2005 21:24:53 +0000 (UTC)
Message-Id: <200503092122.j29LMiIc011717@arcelot.loria.fr>
Date: Wed, 9 Mar 2005 22:22:44 +0100 (CET)
From: reilles@loria.fr
Reply-To: reilles@loria.fr
To: gnats-bugs@netbsd.org
Subject: libopendaap bug and tunesbrowser
X-Send-Pr-Version: 3.95

>Number:         29644
>Category:       pkg
>Synopsis:       libopendaap update broke tunesbrowser
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          closed
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Wed Mar 09 21:25:00 +0000 2005
>Closed-Date:    Sun Mar 20 15:22:52 +0000 2005
>Last-Modified:  Wed Mar 23 13:15:01 +0000 2005
>Originator:     Antoine Reilles
>Release:        NetBSD 2.99.16
>Organization:

>Environment:


System: NetBSD arcelot.loria.fr 2.99.16 NetBSD 2.99.16 (MYKERNEL) #0: Sun Feb 20 22:10:25 CET 2005 root@arcelot.loria.fr:/usr/obj/sys/arch/i386/compile/MYKERNEL i386
Architecture: i386
Machine: i386
>Description:
the recent update of libdaap broke the tunesbrowser package.

I tried to build tunesbrowser-2.0, and did the necessary patches to make
it work under -current.
However, it builds fine now, but does not work, because of pthreads mutex
problems with libdaap. 

In thread.h, there was something like:                            

pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); \                                   
pthread_mutexattr_destroy(&attr) ; \                                                           
pthread_mutex_init(& m, &attr); \                                                              

Be setting things in the correct order, i've got a working
tunesbrowser-2.0. I include here my patch to libopendaap (just add a
patch-aa for thread.h), and a patch for tunesbrowser-2.0. I know pkgsrc
is now frozen, but i was not able to build the old tunesbrowser with the
new libopendaap.

>How-To-Repeat:
upgrade libopendaap to the latest one, and then try to build tunesbrowser
>Fix:
Here a patch for libopendaap, which corrects its use of pthread_mutexattr_destroy

Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/audio/libopendaap/distinfo,v
retrieving revision 1.5
diff -u -r1.5 distinfo
--- distinfo	7 Mar 2005 15:30:44 -0000	1.5
+++ distinfo	9 Mar 2005 20:08:23 -0000
@@ -3,6 +3,7 @@
 SHA1 (libopendaap-0.3.0.tar.bz2) = 21817a7886ffc8c4d88c621231569562c61356db
 RMD160 (libopendaap-0.3.0.tar.bz2) = 2218783e40e7f48a7b89b2e27145e4964f7dd687
 Size (libopendaap-0.3.0.tar.bz2) = 365682 bytes
+SHA1 (patch-aa) = 46069794c86a4687eecec576a3d3c0cf56fcd36c
 SHA1 (patch-ab) = 3bd01a3038505721149a8ea56f564442b035cee4
 SHA1 (patch-ac) = d723c22d11df6d511290d45ccb54861fbecc178d
 SHA1 (patch-ad) = 88b72f80e4a6ed68f7ae74ace3f3dbf07709c0b1
--- /dev/null	2005-03-09 21:03:18.000000000 +0100
+++ patches/patch-aa	2005-03-09 21:00:04.000000000 +0100
@@ -0,0 +1,12 @@
+--- thread.h.orig	2005-03-09 20:59:09.000000000 +0100
++++ thread.h	2005-03-09 20:59:23.000000000 +0100
+@@ -42,8 +42,8 @@
+         pthread_mutexattr_t attr; \
+         pthread_mutexattr_init(&attr) ; \
+         pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); \
+-        pthread_mutexattr_destroy(&attr) ; \
+         pthread_mutex_init(& m, &attr); \
++        pthread_mutexattr_destroy(&attr) ; \
+     } while (0)
+ #define ts_mutex_lock(m)              pthread_mutex_lock(& m)
+ #define ts_mutex_unlock(m)            pthread_mutex_unlock(& m)

And a patch to the tunesbrowser package, upgrading it to 2.0 since the current
one does not build with the updated libopendaap. I haven't checked for C99 isms like was done with the previous patches for this package, since i'n not enough fluent with C to see them.


Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/audio/tunesbrowser/Makefile,v
retrieving revision 1.2
diff -u -r1.2 Makefile
--- Makefile	3 Oct 2004 00:13:10 -0000	1.2
+++ Makefile	9 Mar 2005 20:07:35 -0000
@@ -1,8 +1,7 @@
 # $NetBSD: Makefile,v 1.2 2004/10/03 00:13:10 tv Exp $
 #

-DISTNAME=		tunesbrowser-0.1.5
-PKGREVISION=	1
+DISTNAME=		tunesbrowser-0.2.0
 CATEGORIES=		audio
 MASTER_SITES=		http://crazney.net/programs/itunes/files/
 EXTRACT_SUFX=		.tar.bz2
@@ -16,6 +15,8 @@
 USE_LIBTOOL=		yes
 LIBTOOL_OVERRIDE=	${WRKSRC}/libtool

+CONFIGURE_ARGS+= --datadir=${PREFIX}/share/tunesbrowser
+
 DEPENDS+=		mad>=0.15.0b:../../audio/mad

 .include "../../audio/gst-plugins-artsd/buildlink3.mk"
@@ -25,5 +26,6 @@
 .include "../../devel/libglade2/buildlink3.mk"
 .include "../../devel/pkgconfig/buildlink3.mk"
 .include "../../multimedia/gstreamer/buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"

 .include "../../mk/bsd.pkg.mk"
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/audio/tunesbrowser/PLIST,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 PLIST
--- PLIST	20 Jun 2004 20:41:22 -0000	1.1.1.1
+++ PLIST	9 Mar 2005 20:07:35 -0000
@@ -1,3 +1,9 @@
-@comment $NetBSD: PLIST,v 1.1.1.1 2004/06/20 20:41:22 agc Exp $
+@comment $NetBSD$
 bin/tunesbrowser
-share/tunesbrowser.glade
+man/man1/tunesbrowser.1
+share/tunesbrowser/comp.blue.png
+share/tunesbrowser/comp.red.png
+share/tunesbrowser/sound1.png
+share/tunesbrowser/sound2.png
+share/tunesbrowser/tunesbrowser.glade
+@dirrm share/tunesbrowser
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/audio/tunesbrowser/distinfo,v
retrieving revision 1.3
diff -u -r1.3 distinfo
--- distinfo	23 Feb 2005 20:39:53 -0000	1.3
+++ distinfo	9 Mar 2005 20:07:35 -0000
@@ -1,9 +1,6 @@
 $NetBSD: distinfo,v 1.3 2005/02/23 20:39:53 agc Exp $

-SHA1 (tunesbrowser-0.1.5.tar.bz2) = 31feff440625d2dad664b7e9fb8ec4055aa151ef
-RMD160 (tunesbrowser-0.1.5.tar.bz2) = baba93b8c66ddbd39811c2e69b9186fce7f6fdfa
-Size (tunesbrowser-0.1.5.tar.bz2) = 190729 bytes
-SHA1 (patch-aa) = 39d837625a837d4c927bd220d3f3e030b4b122bd
-SHA1 (patch-ab) = d9da00f2daf4cdb33ea69f51ffb294f7130765d7
-SHA1 (patch-ac) = c0bad452914fb27e73713c2026f33aa3a4bb74d5
-SHA1 (patch-ad) = 99d5bcac138e5b7e936c288e7531f2b3c5458c83
+SHA1 (tunesbrowser-0.2.0.tar.bz2) = 79195c25d6f6bfdeebe9b1e8eb34b5ca0e185764
+RMD160 (tunesbrowser-0.2.0.tar.bz2) = 365aee4d25f4a77efb751b268874bcf0ec64db70
+Size (tunesbrowser-0.2.0.tar.bz2) = 208472 bytes
+SHA1 (patch-aa) = b437f835f3c1614c3bdc73f3eb99e51395bfacf5
Index: patches/patch-aa
===================================================================
RCS file: /cvsroot/pkgsrc/audio/tunesbrowser/patches/patch-aa,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 patch-aa
--- patches/patch-aa	20 Jun 2004 20:41:22 -0000	1.1.1.1
+++ patches/patch-aa	9 Mar 2005 20:07:35 -0000
@@ -1,53 +1,25 @@
-$NetBSD: patch-aa,v 1.1.1.1 2004/06/20 20:41:22 agc Exp $
-
---- configure	2004/06/05 22:49:11	1.1
-+++ configure	2004/06/05 22:49:43
-@@ -19625,23 +19625,23 @@
-   else
-      PKG_CONFIG_MIN_VERSION=0.9.0
-      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
--        echo "$as_me:$LINENO: checking for opendaap libglade-2.0 gstreamer-0.6" >&5
--echo $ECHO_N "checking for opendaap libglade-2.0 gstreamer-0.6... $ECHO_C" >&6
-+        echo "$as_me:$LINENO: checking for opendaap libglade-2.0 gstreamer-0.8" >&5
-+echo $ECHO_N "checking for opendaap libglade-2.0 gstreamer-0.8... $ECHO_C" >&6
+--- main.c.orig	2005-03-09 16:08:32.000000000 +0100
++++ main.c	2005-03-09 16:09:04.000000000 +0100
+@@ -38,7 +38,7 @@
+ {
+     fprintf(stderr, "Oops! TunesBrowser has crashed. Sorry about that!\n");
+     fprintf(stderr, "This probably won't be of any use unless you feel like debugging,\n");
+-    fprintf(stderr, "but the crash occured because of %p being bad.\n", siginfo->si_ptr);
++    fprintf(stderr, "but the crash occured because of %p being bad.\n", siginfo->si_addr);
+ #if 0
+     fprintf(stderr, "\n\nRaised SIGSTOP. You can now attach a debugger.\n");
+     fprintf(stderr, "Attach to PID %i\n", getpid());
+@@ -66,11 +66,11 @@
+     int ret;

--        if $PKG_CONFIG --exists "opendaap libglade-2.0 gstreamer-0.6" ; then
-+        if $PKG_CONFIG --exists "opendaap libglade-2.0 gstreamer-0.8" ; then
-             echo "$as_me:$LINENO: result: yes" >&5
- echo "${ECHO_T}yes" >&6
-             succeeded=yes
+     sa.sa_handler = (void*)sighandler_sigsegv;
+-    sa.sa_flags = SA_NOMASK | SA_SIGINFO;
++    sa.sa_flags = SA_NODEFER | SA_SIGINFO;
+     ret = sigaction(SIGSEGV, &sa, NULL);

-             echo "$as_me:$LINENO: checking TB_CFLAGS" >&5
- echo $ECHO_N "checking TB_CFLAGS... $ECHO_C" >&6
--            TB_CFLAGS=`$PKG_CONFIG --cflags "opendaap libglade-2.0 gstreamer-0.6"`
-+            TB_CFLAGS=`$PKG_CONFIG --cflags "opendaap libglade-2.0 gstreamer-0.8"`
-             echo "$as_me:$LINENO: result: $TB_CFLAGS" >&5
- echo "${ECHO_T}$TB_CFLAGS" >&6
- 
-             echo "$as_me:$LINENO: checking TB_LIBS" >&5
- echo $ECHO_N "checking TB_LIBS... $ECHO_C" >&6
--            TB_LIBS=`$PKG_CONFIG --libs "opendaap libglade-2.0 gstreamer-0.6"`
-+            TB_LIBS=`$PKG_CONFIG --libs "opendaap libglade-2.0 gstreamer-0.8"`
-             echo "$as_me:$LINENO: result: $TB_LIBS" >&5
- echo "${ECHO_T}$TB_LIBS" >&6
-         else
-@@ -19649,7 +19649,7 @@
-             TB_LIBS=""
-             ## If we have a custom action on failure, don't print errors, but
-             ## do set a variable so people can do so.
--            TB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "opendaap libglade-2.0 gstreamer-0.6"`
-+            TB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "opendaap libglade-2.0 gstreamer-0.8"`
-             echo $TB_PKG_ERRORS
-         fi
- 
-@@ -19664,8 +19664,8 @@
-   if test $succeeded = yes; then
-      :
-   else
--     { { echo "$as_me:$LINENO: error: Library requirements (opendaap libglade-2.0 gstreamer-0.6) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
--echo "$as_me: error: Library requirements (opendaap libglade-2.0 gstreamer-0.6) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
-+     { { echo "$as_me:$LINENO: error: Library requirements (opendaap libglade-2.0 gstreamer-0.8) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
-+echo "$as_me: error: Library requirements (opendaap libglade-2.0 gstreamer-0.8) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
-    { (exit 1); exit 1; }; }
-   fi
+     sa.sa_handler = (void*)sighandler_sigpipe;
+-    sa.sa_flags = SA_NOMASK | SA_SIGINFO;
++    sa.sa_flags = SA_NODEFER | SA_SIGINFO;
+     ret = sigaction(SIGPIPE, &sa, NULL);
+ }


>Release-Note:

>Audit-Trail:
From: Antoine Reilles <Antoine.Reilles@loria.fr>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/29644: libopendaap bug and tunesbrowser
Date: Thu, 10 Mar 2005 19:15:46 +0100

 --Fig2xvG2VGoz8o/s
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 Content-Transfer-Encoding: quoted-printable

 Oups, i was too quick with the tunesbrowser update, it does not work
 fine with gst.
 It can read one song, but when it try to play a second song, i just hang
 the gstreamer output, with a laconig message:
 an error occured:
 (null)

 a small change in audioplayer.c makes this message more explicit:
 an error occured:
 OSS output failed, /dev/audio already in use
 ((null)).

 I'm trying to contact the author since i don't see how to fix that


 --- audioplayer.c.orig	2005-03-10 18:17:40.000000000 +0100
 +++ audioplayer.c	2005-03-10 18:20:51.000000000 +0100
 @@ -148,11 +148,11 @@
 =20
  static void cb_error (__UNUSED__ GstElement *gstelement,
                        __UNUSED__ GstElement *arg1,
 -                      __UNUSED__ gpointer arg2,
 -                      gchar *arg3,
 +                      GError *err,
 +                      gchar *dbg_msg,
                        __UNUSED__ gpointer user_data)
  {
 -    fprintf(stderr, "an error occured:\n%s\n\n", arg3);
 +    fprintf(stderr, "an error occured:\n%s (%s)\n", err->message, dbg_msg);
  }
 =20
  static void cb_iterate(GstBin *bin, __UNUSED__ gpointer data)

 --Fig2xvG2VGoz8o/s
 Content-Type: application/pgp-signature
 Content-Disposition: inline

 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.0 (NetBSD)

 iD8DBQFCMI7S4VqmoGDE/mwRAmKZAJ0cqoKReHgKwHaEiGdxdcAb1qOFEQCfXQpx
 gli3LiwTtrZ1yDQo2dMqVlY=
 =rT8D
 -----END PGP SIGNATURE-----

 --Fig2xvG2VGoz8o/s--

From: Antoine Reilles <Antoine.Reilles@loria.fr>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: pkg/29644: libopendaap bug and tunesbrowser
Date: Thu, 10 Mar 2005 21:06:10 +0100

 --/9DWx/yDrRhgMJTb
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline

 I've found the reason of the /dev/audio acess problem, thanks to the
 #gstreamer guys, which where very helpful. I include a diff for the new
 version (really working fine now). The only change to the first
 porposition is that it inclue the patch-ab, making error reporting in
 case of gstreamer failure better and ensures gstreamer closes
 /dev/audio when it needs to reopen it. 



 --/9DWx/yDrRhgMJTb
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename="tunesbrowser.diff"

 Index: Makefile
 ===================================================================
 RCS file: /cvsroot/pkgsrc/audio/tunesbrowser/Makefile,v
 retrieving revision 1.2
 diff -u -r1.2 Makefile
 --- Makefile	3 Oct 2004 00:13:10 -0000	1.2
 +++ Makefile	10 Mar 2005 20:01:18 -0000
 @@ -1,8 +1,7 @@
  # $NetBSD: Makefile,v 1.2 2004/10/03 00:13:10 tv Exp $
  #

 -DISTNAME=		tunesbrowser-0.1.5
 -PKGREVISION=	1
 +DISTNAME=		tunesbrowser-0.2.0
  CATEGORIES=		audio
  MASTER_SITES=		http://crazney.net/programs/itunes/files/
  EXTRACT_SUFX=		.tar.bz2
 @@ -16,6 +15,8 @@
  USE_LIBTOOL=		yes
  LIBTOOL_OVERRIDE=	${WRKSRC}/libtool

 +CONFIGURE_ARGS+= --datadir=${PREFIX}/share/tunesbrowser
 +
  DEPENDS+=		mad>=0.15.0b:../../audio/mad

  .include "../../audio/gst-plugins-artsd/buildlink3.mk"
 @@ -25,5 +26,6 @@
  .include "../../devel/libglade2/buildlink3.mk"
  .include "../../devel/pkgconfig/buildlink3.mk"
  .include "../../multimedia/gstreamer/buildlink3.mk"
 +.include "../../mk/pthread.buildlink3.mk"

  .include "../../mk/bsd.pkg.mk"
 Index: PLIST
 ===================================================================
 RCS file: /cvsroot/pkgsrc/audio/tunesbrowser/PLIST,v
 retrieving revision 1.1.1.1
 diff -u -r1.1.1.1 PLIST
 --- PLIST	20 Jun 2004 20:41:22 -0000	1.1.1.1
 +++ PLIST	10 Mar 2005 20:01:18 -0000
 @@ -1,3 +1,9 @@
 -@comment $NetBSD: PLIST,v 1.1.1.1 2004/06/20 20:41:22 agc Exp $
 +@comment $NetBSD$
  bin/tunesbrowser
 -share/tunesbrowser.glade
 +man/man1/tunesbrowser.1
 +share/tunesbrowser/comp.blue.png
 +share/tunesbrowser/comp.red.png
 +share/tunesbrowser/sound1.png
 +share/tunesbrowser/sound2.png
 +share/tunesbrowser/tunesbrowser.glade
 +@dirrm share/tunesbrowser
 Index: distinfo
 ===================================================================
 RCS file: /cvsroot/pkgsrc/audio/tunesbrowser/distinfo,v
 retrieving revision 1.3
 diff -u -r1.3 distinfo
 --- distinfo	23 Feb 2005 20:39:53 -0000	1.3
 +++ distinfo	10 Mar 2005 20:01:18 -0000
 @@ -1,9 +1,7 @@
  $NetBSD: distinfo,v 1.3 2005/02/23 20:39:53 agc Exp $

 -SHA1 (tunesbrowser-0.1.5.tar.bz2) = 31feff440625d2dad664b7e9fb8ec4055aa151ef
 -RMD160 (tunesbrowser-0.1.5.tar.bz2) = baba93b8c66ddbd39811c2e69b9186fce7f6fdfa
 -Size (tunesbrowser-0.1.5.tar.bz2) = 190729 bytes
 -SHA1 (patch-aa) = 39d837625a837d4c927bd220d3f3e030b4b122bd
 -SHA1 (patch-ab) = d9da00f2daf4cdb33ea69f51ffb294f7130765d7
 -SHA1 (patch-ac) = c0bad452914fb27e73713c2026f33aa3a4bb74d5
 -SHA1 (patch-ad) = 99d5bcac138e5b7e936c288e7531f2b3c5458c83
 +SHA1 (tunesbrowser-0.2.0.tar.bz2) = 79195c25d6f6bfdeebe9b1e8eb34b5ca0e185764
 +RMD160 (tunesbrowser-0.2.0.tar.bz2) = 365aee4d25f4a77efb751b268874bcf0ec64db70
 +Size (tunesbrowser-0.2.0.tar.bz2) = 208472 bytes
 +SHA1 (patch-aa) = b437f835f3c1614c3bdc73f3eb99e51395bfacf5
 +SHA1 (patch-ab) = f82fd4eeeaf870b1df25e12a3362ab64e1bfcf6a
 Index: patches/patch-aa
 ===================================================================
 RCS file: /cvsroot/pkgsrc/audio/tunesbrowser/patches/patch-aa,v
 retrieving revision 1.1.1.1
 diff -u -r1.1.1.1 patch-aa
 --- patches/patch-aa	20 Jun 2004 20:41:22 -0000	1.1.1.1
 +++ patches/patch-aa	10 Mar 2005 20:01:18 -0000
 @@ -1,53 +1,25 @@
 -$NetBSD: patch-aa,v 1.1.1.1 2004/06/20 20:41:22 agc Exp $
 -
 ---- configure	2004/06/05 22:49:11	1.1
 -+++ configure	2004/06/05 22:49:43
 -@@ -19625,23 +19625,23 @@
 -   else
 -      PKG_CONFIG_MIN_VERSION=0.9.0
 -      if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then
 --        echo "$as_me:$LINENO: checking for opendaap libglade-2.0 gstreamer-0.6" >&5
 --echo $ECHO_N "checking for opendaap libglade-2.0 gstreamer-0.6... $ECHO_C" >&6
 -+        echo "$as_me:$LINENO: checking for opendaap libglade-2.0 gstreamer-0.8" >&5
 -+echo $ECHO_N "checking for opendaap libglade-2.0 gstreamer-0.8... $ECHO_C" >&6
 +--- main.c.orig	2005-03-09 16:08:32.000000000 +0100
 ++++ main.c	2005-03-09 16:09:04.000000000 +0100
 +@@ -38,7 +38,7 @@
 + {
 +     fprintf(stderr, "Oops! TunesBrowser has crashed. Sorry about that!\n");
 +     fprintf(stderr, "This probably won't be of any use unless you feel like debugging,\n");
 +-    fprintf(stderr, "but the crash occured because of %p being bad.\n", siginfo->si_ptr);
 ++    fprintf(stderr, "but the crash occured because of %p being bad.\n", siginfo->si_addr);
 + #if 0
 +     fprintf(stderr, "\n\nRaised SIGSTOP. You can now attach a debugger.\n");
 +     fprintf(stderr, "Attach to PID %i\n", getpid());
 +@@ -66,11 +66,11 @@
 +     int ret;

 --        if $PKG_CONFIG --exists "opendaap libglade-2.0 gstreamer-0.6" ; then
 -+        if $PKG_CONFIG --exists "opendaap libglade-2.0 gstreamer-0.8" ; then
 -             echo "$as_me:$LINENO: result: yes" >&5
 - echo "${ECHO_T}yes" >&6
 -             succeeded=yes
 +     sa.sa_handler = (void*)sighandler_sigsegv;
 +-    sa.sa_flags = SA_NOMASK | SA_SIGINFO;
 ++    sa.sa_flags = SA_NODEFER | SA_SIGINFO;
 +     ret = sigaction(SIGSEGV, &sa, NULL);

 -             echo "$as_me:$LINENO: checking TB_CFLAGS" >&5
 - echo $ECHO_N "checking TB_CFLAGS... $ECHO_C" >&6
 --            TB_CFLAGS=`$PKG_CONFIG --cflags "opendaap libglade-2.0 gstreamer-0.6"`
 -+            TB_CFLAGS=`$PKG_CONFIG --cflags "opendaap libglade-2.0 gstreamer-0.8"`
 -             echo "$as_me:$LINENO: result: $TB_CFLAGS" >&5
 - echo "${ECHO_T}$TB_CFLAGS" >&6
 - 
 -             echo "$as_me:$LINENO: checking TB_LIBS" >&5
 - echo $ECHO_N "checking TB_LIBS... $ECHO_C" >&6
 --            TB_LIBS=`$PKG_CONFIG --libs "opendaap libglade-2.0 gstreamer-0.6"`
 -+            TB_LIBS=`$PKG_CONFIG --libs "opendaap libglade-2.0 gstreamer-0.8"`
 -             echo "$as_me:$LINENO: result: $TB_LIBS" >&5
 - echo "${ECHO_T}$TB_LIBS" >&6
 -         else
 -@@ -19649,7 +19649,7 @@
 -             TB_LIBS=""
 -             ## If we have a custom action on failure, don't print errors, but
 -             ## do set a variable so people can do so.
 --            TB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "opendaap libglade-2.0 gstreamer-0.6"`
 -+            TB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "opendaap libglade-2.0 gstreamer-0.8"`
 -             echo $TB_PKG_ERRORS
 -         fi
 - 
 -@@ -19664,8 +19664,8 @@
 -   if test $succeeded = yes; then
 -      :
 -   else
 --     { { echo "$as_me:$LINENO: error: Library requirements (opendaap libglade-2.0 gstreamer-0.6) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
 --echo "$as_me: error: Library requirements (opendaap libglade-2.0 gstreamer-0.6) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
 -+     { { echo "$as_me:$LINENO: error: Library requirements (opendaap libglade-2.0 gstreamer-0.8) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5
 -+echo "$as_me: error: Library requirements (opendaap libglade-2.0 gstreamer-0.8) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;}
 -    { (exit 1); exit 1; }; }
 -   fi
 +     sa.sa_handler = (void*)sighandler_sigpipe;
 +-    sa.sa_flags = SA_NOMASK | SA_SIGINFO;
 ++    sa.sa_flags = SA_NODEFER | SA_SIGINFO;
 +     ret = sigaction(SIGPIPE, &sa, NULL);
 + }

 Index: patches/patch-ab
 ===================================================================
 RCS file: /cvsroot/pkgsrc/audio/tunesbrowser/patches/patch-ab,v
 retrieving revision 1.2
 diff -u -r1.2 patch-ab
 --- patches/patch-ab	14 Aug 2004 11:43:53 -0000	1.2
 +++ patches/patch-ab	10 Mar 2005 20:01:18 -0000
 @@ -1,29 +1,25 @@
 -$NetBSD: patch-ab,v 1.2 2004/08/14 11:43:53 kristerw Exp $
 -
 ---- audioplayer.c.orig	Thu Apr 29 13:31:57 2004
 -+++ audioplayer.c	Sat Aug 14 13:30:09 2004
 -@@ -80,8 +80,10 @@
 -     gst_init(0, NULL);
 +--- audioplayer.c.orig	2004-12-20 09:03:55.000000000 +0100
 ++++ audioplayer.c	2005-03-10 20:47:55.000000000 +0100
 +@@ -148,11 +148,11 @@

 -     pipeline_thread = gst_thread_new ("pipeline");
 -+#if 0
 -     gst_bin_set_post_iterate_function(GST_BIN(pipeline_thread),
 -                                       cb_iterate, NULL);
 -+#endif
 -     pipesrc = gst_element_factory_make ("fdsrc", "pipe_source");
 -     if (!pipesrc)
 -     {
 -@@ -136,11 +138,12 @@
 - 
 - void audioplayer_playpipe(int fd)
 + static void cb_error (__UNUSED__ GstElement *gstelement,
 +                       __UNUSED__ GstElement *arg1,
 +-                      __UNUSED__ gpointer arg2,
 +-                      gchar *arg3,
 ++                      GError *err,
 ++                      gchar *dbg_msg,
 +                       __UNUSED__ gpointer user_data)
   {
 -+    GstClock *clock;
 -     playing = 1;
 -     audioplayer_loadpipe(fd);
 +-    fprintf(stderr, "an error occured:\n%s\n\n", arg3);
 ++    fprintf(stderr, "an error occured:\n%s (%s)\n", err->message, dbg_msg);
 + }
 + 
 + static void cb_iterate(GstBin *bin, __UNUSED__ gpointer data)
 +@@ -176,6 +176,7 @@
 +     /* remove the source and decoder from the pipeline */
 +     gst_bin_remove_many (GST_BIN (pipeline_thread), srcelem, decoder, NULL);

 -     gst_element_set_state (GST_ELEMENT (pipeline_thread), GST_STATE_PLAYING);
 --    GstClock *clock = gst_bin_get_clock(GST_BIN(pipeline_thread));
 -+    clock = gst_bin_get_clock(GST_BIN(pipeline_thread));
 -     songstarted = gst_clock_get_time(clock) / GST_SECOND;
 ++    gst_element_set_state(GST_OBJECT(pipeline_thread), GST_STATE_NULL);
 +     gst_object_unref(GST_OBJECT(pipeline_thread));
   }


 --/9DWx/yDrRhgMJTb--

From: Antoine Reilles <Antoine.Reilles@loria.fr>
To: gnats-bugs@netbsd.org
Cc: 
Subject: Re: pkg/29644: libopendaap bug and tunesbrowser
Date: Sat, 12 Mar 2005 13:45:43 +0100

 Oups, i did a small mistake in the latest patch, the line:

 + gst_element_set_state(GST_OBJECT(pipeline_thread), GST_STATE_NULL);

 should be:
 + gst_element_set_state(pipeline_thread, GST_STATE_NULL);

 It works equally well, and avoid a compiler warning

 antoine

State-Changed-From-To: open->feedback
State-Changed-By: jmmv@netbsd.org
State-Changed-When: Sun, 20 Mar 2005 12:38:25 +0000
State-Changed-Why:
I've just updated tunesbrowser to 0.2.0.  Does it work correctly now?


State-Changed-From-To: feedback->closed
State-Changed-By: jmmv@netbsd.org
State-Changed-When: Sun, 20 Mar 2005 15:22:52 +0000
State-Changed-Why:
I finished applying your suggested patches, so this can be closed now.
Thanks!


From: "Julio M. Merino Vidal" <jmmv@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: PR/29644 CVS commit: pkgsrc/audio/tunesbrowser
Date: Sun, 20 Mar 2005 15:21:04 +0000 (UTC)

 Module Name:	pkgsrc
 Committed By:	jmmv
 Date:		Sun Mar 20 15:21:04 UTC 2005

 Modified Files:
 	pkgsrc/audio/tunesbrowser: Makefile PLIST distinfo
 	pkgsrc/audio/tunesbrowser/patches: patch-aa
 Added Files:
 	pkgsrc/audio/tunesbrowser/patches: patch-ab

 Log Message:
 Merge some patches from PR pkg/29644 by Antoine Reilles:
 - Use SA_NODEFER instead of SA_NOMASK (if the later is not available).
 - Use a subdirectory under ${PREFIX}/share to place the data files.
 - Print the failing address on SIGSEGV.
 - Make an error message more descriptive (specially helpful when using OSS).
 - Fix playback of multiple songs.


 To generate a diff of this commit:
 cvs rdiff -r1.3 -r1.4 pkgsrc/audio/tunesbrowser/Makefile
 cvs rdiff -r1.2 -r1.3 pkgsrc/audio/tunesbrowser/PLIST
 cvs rdiff -r1.4 -r1.5 pkgsrc/audio/tunesbrowser/distinfo
 cvs rdiff -r1.2 -r1.3 pkgsrc/audio/tunesbrowser/patches/patch-aa
 cvs rdiff -r0 -r1.4 pkgsrc/audio/tunesbrowser/patches/patch-ab

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Julio M. Merino Vidal" <jmmv@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: PR/29644 CVS commit: pkgsrc/audio/libopendaap
Date: Wed, 23 Mar 2005 10:52:54 +0000 (UTC)

 Module Name:	pkgsrc
 Committed By:	jmmv
 Date:		Wed Mar 23 10:52:54 UTC 2005

 Modified Files:
 	pkgsrc/audio/libopendaap: Makefile distinfo
 Added Files:
 	pkgsrc/audio/libopendaap/patches: patch-aa

 Log Message:
 Fix a threading problem (mutexattr used after it's destroyed).
 Patch was in PR pkg/29644 by Antoine Reilles, but I overlooked it.
 Bump PKGREVISION to 1.


 To generate a diff of this commit:
 cvs rdiff -r1.3 -r1.4 pkgsrc/audio/libopendaap/Makefile
 cvs rdiff -r1.7 -r1.8 pkgsrc/audio/libopendaap/distinfo
 cvs rdiff -r0 -r1.3 pkgsrc/audio/libopendaap/patches/patch-aa

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Lubomir Sedlacik <salo@netbsd.org>
To: gnats-bugs@netbsd.org
Cc: 
Subject: PR/29644 CVS commit: [pkgsrc-2005Q1] pkgsrc/audio/libopendaap
Date: Wed, 23 Mar 2005 13:14:20 +0000 (UTC)

 Module Name:	pkgsrc
 Committed By:	salo
 Date:		Wed Mar 23 13:14:20 UTC 2005

 Modified Files:
 	pkgsrc/audio/libopendaap [pkgsrc-2005Q1]: Makefile distinfo
 Added Files:
 	pkgsrc/audio/libopendaap/patches [pkgsrc-2005Q1]: patch-aa

 Log Message:
 Pullup ticket 382 - requested by Julio M. Merino Vidal
 threading fix for libopendaap

 Revisions pulled up:
 - pkgsrc/audio/libopendaap/Makefile		1.4
 - pkgsrc/audio/libopendaap/distinfo		1.8
 - pkgsrc/audio/libopendaap/patches/patch-aa	1.3

    Module Name:		pkgsrc
    Committed By:	jmmv
    Date:		Wed Mar 23 10:52:54 UTC 2005

    Modified Files:
    	pkgsrc/audio/libopendaap: Makefile distinfo
    Added Files:
    	pkgsrc/audio/libopendaap/patches: patch-aa

    Log Message:
    Fix a threading problem (mutexattr used after it's destroyed).
    Patch was in PR pkg/29644 by Antoine Reilles, but I overlooked it.
    Bump PKGREVISION to 1.


 To generate a diff of this commit:
 cvs rdiff -r1.3 -r1.3.2.1 pkgsrc/audio/libopendaap/Makefile
 cvs rdiff -r1.7 -r1.7.2.1 pkgsrc/audio/libopendaap/distinfo
 cvs rdiff -r0 -r1.2.2.1 pkgsrc/audio/libopendaap/patches/patch-aa

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.