From owner-freebsd-ports-bugs@FreeBSD.ORG Wed Dec 22 16:40:33 2004 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 61B8B16A4D0 for ; Wed, 22 Dec 2004 16:40:33 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2357043D2F for ; Wed, 22 Dec 2004 16:40:33 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.1/8.13.1) with ESMTP id iBMGeUsn092210 for ; Wed, 22 Dec 2004 16:40:30 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.1/8.13.1/Submit) id iBMGeUNE092209; Wed, 22 Dec 2004 16:40:30 GMT (envelope-from gnats) Date: Wed, 22 Dec 2004 16:40:30 GMT Message-Id: <200412221640.iBMGeUNE092209@freefall.freebsd.org> To: freebsd-ports-bugs@FreeBSD.org From: Simon Barner Subject: Re: ports/71832: Default Valgrind suppresion files for different FreeBSD releases X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Simon Barner List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Dec 2004 16:40:33 -0000 The following reply was made to PR ports/71832; it has been noted by GNATS. From: Simon Barner To: FreeBSD-gnats-submit@FreeBSD.org Cc: Subject: Re: ports/71832: Default Valgrind suppresion files for different FreeBSD releases Date: Wed, 22 Dec 2004 17:34:45 +0100 I have modified Frerich's second implementation of an automatic supression file generator, so that emtpy suppression files are not installed. Currently, neither FreeBSD 4.11-RC nor 5-STABLE need suppression files, but I think it's a good idea to have Frerich Raabe (please give him credits in the commit message!) in the port, just in case valgrind default suppression should be necessary on future versions of FreeBSD. Additionally, for valgrind-snapshot, the plist was fixed on FreeBSD 4! The patches for devel/valgrind and devel/valgrind-snapshot follow... -- valgrind.patch begins here diff -ruN valgrind.orig/Makefile valgrind/Makefile --- valgrind.orig/Makefile Sun Dec 19 20:16:18 2004 +++ valgrind/Makefile Mon Dec 20 23:00:33 2004 @@ -7,7 +7,7 @@ PORTNAME= valgrind PORTVERSION= 352 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel MASTER_SITES= http://www.rabson.org/ DISTNAME= ${PORTNAME}-stable-${PORTVERSION} @@ -66,12 +66,26 @@ .endif post-install: - ${INSTALL_DATA} ${WRKSRC}/coregrind/vg_unistd.h \ + @${INSTALL_DATA} ${WRKSRC}/coregrind/vg_unistd.h \ ${PREFIX}/include/valgrind + @yes | ${PREFIX}/bin/valgrind --tool=memcheck --gen-suppressions=yes true \ + | ${SED} -e 's,.*{$$,{,' \ + | ${GREP} -v '^=' \ + > ${WRKDIR}/freebsd-default.supp || \ + ${RM} ${WRKDIR}/freebsd-default.supp + @${ECHO} "" @${ECHO} "" - @${CAT} ${PKGMESSAGE} + @${CAT} ${PKGMESSAGE} | ${SED} -e 's,%%PREFIX%%,${PREFIX},g' @${ECHO} "" + +.if exists(${WRKDIR}/freebsd-default.supp) + @${INSTALL_DATA} ${WRKDIR}/freebsd-default.supp \ + ${PREFIX}/lib/valgrind +PLIST_SUB+= VALGRIND_SUPPFILE="" +.else +PLIST_SUB+= VALGRIND_SUPPFILE="@comment " +.endif .include diff -ruN valgrind.orig/pkg-message valgrind/pkg-message --- valgrind.orig/pkg-message Sun Dec 19 20:16:18 2004 +++ valgrind/pkg-message Mon Dec 20 23:01:17 2004 @@ -7,3 +7,13 @@ As a workaround you can use the devel/valgrind-snapshot port, which is based on a more recent snapshot. + +Note 2: A sample suppression file might have been installed to \ + %%PREFIX%%/etc/freebsd-default.supp. It makes Valgrind hide warnings + caused by flawed code sequences - if any - in your system libraries, + so that you can concentrate on the warnings issued for your own code. + + To use these suppressions, either pass + --suppressions=%%PREFIX%%/etc/freebsd-default.supp + to Valgrind on the commandline, or add that line to your + ~/.valgrindrc file, which is the recommended way. diff -ruN valgrind.orig/pkg-plist valgrind/pkg-plist --- valgrind.orig/pkg-plist Sun Dec 19 20:16:18 2004 +++ valgrind/pkg-plist Mon Dec 20 22:58:38 2004 @@ -36,6 +36,7 @@ lib/valgrind/xfree-3.supp lib/valgrind/xfree-4.supp libdata/pkgconfig/valgrind.pc +%%VALGRIND_SUPPFILE%%etc/freebsd-default.supp %%PORTDOCS%%%%DOCSDIR%%/ac_main.html %%PORTDOCS%%%%DOCSDIR%%/cc_main.html %%PORTDOCS%%%%DOCSDIR%%/cg_main.html -- valgrind.patch ends here -- valgrind-snapshot.patch begins here diff -ruN valgrind-snapshot.orig/Makefile valgrind-snapshot/Makefile --- valgrind-snapshot.orig/Makefile Sun Dec 19 20:33:32 2004 +++ valgrind-snapshot/Makefile Mon Dec 20 23:04:31 2004 @@ -7,7 +7,7 @@ PORTNAME= valgrind PORTVERSION= 352 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel MASTER_SITES= http://www.rabson.org/ PKGNAMESUFFIX= -snapshot @@ -32,6 +32,14 @@ .include +.if ${OSVERSION} >= 500000 +PLIST_SUB+= RELENG_4="@comment" +PLIST_SUB+= RELENG_5="" +.else +PLIST_SUB+= RELENG_4="" +PLIST_SUB+= PRELENG_5="@comment" +.endif + .if ${PERL_LEVEL} < 500601 IGNORE= "can\'t be built. Your Perl version is too old. Please use lang/perl5.8 port to upgrade your Perl" .endif @@ -62,7 +70,25 @@ .endif post-install: - ${INSTALL_DATA} ${WRKSRC}/coregrind/vg_unistd.h \ + @${INSTALL_DATA} ${WRKSRC}/coregrind/vg_unistd.h \ ${PREFIX}/include/valgrind + + @yes | ${PREFIX}/bin/valgrind --tool=memcheck --gen-suppressions=yes true \ + | ${SED} -e 's,.*{$$,{,' \ + | ${GREP} -v '^=' \ + > ${WRKDIR}/freebsd-default.supp || \ + ${RM} ${WRKDIR}/freebsd-default.supp + +.if exists(${WRKDIR}/freebsd-default.supp) + @${INSTALL_DATA} ${WRKDIR}/freebsd-default.supp \ + ${PREFIX}/lib/valgrind +PLIST_SUB+= VALGRIND_SUPPFILE="" + @${ECHO} "" + @${ECHO} "" + @${CAT} ${PKGMESSAGE} | ${SED} -e 's,%%PREFIX%%,${PREFIX},g' + @${ECHO} "" +.else +PLIST_SUB+= VALGRIND_SUPPFILE="@comment " +.endif .include diff -ruN valgrind-snapshot.orig/pkg-message valgrind-snapshot/pkg-message --- valgrind-snapshot.orig/pkg-message Thu Jan 1 01:00:00 1970 +++ valgrind-snapshot/pkg-message Mon Dec 20 22:59:50 2004 @@ -0,0 +1,10 @@ +Note : A sample suppression file was installed to \ + %%PREFIX%%/lib/valgrind/freebsd-default.supp. + It makes Valgrind hide warnings caused by flawed code sequences + -if any - in your system libraries, so that you can concentrate + on the warnings issued for your own code. + + To use these suppressions, either pass + --suppressions=%%PREFIX%%/lib/valgrind/freebsd-default.supp + to Valgrind on the commandline, or add that line to your + ~/.valgrindrc file, which is the recommended way. diff -ruN valgrind-snapshot.orig/pkg-plist valgrind-snapshot/pkg-plist --- valgrind-snapshot.orig/pkg-plist Sun Dec 19 20:33:32 2004 +++ valgrind-snapshot/pkg-plist Mon Dec 20 22:58:40 2004 @@ -13,12 +13,13 @@ lib/valgrind/glibc-2.2.supp lib/valgrind/glibc-2.3.supp lib/valgrind/hp2ps -lib/valgrind/libc_r.so.5 -lib/valgrind/libkse.so.1 +%%RELENG_4%%lib/valgrind/libc_r.so.4 +%%RELENG_5%%lib/valgrind/libc_r.so.5 +%%RELENG_5%%lib/valgrind/libkse.so.1 lib/valgrind/libpthread.so lib/valgrind/libpthread.so.0 -lib/valgrind/libpthread.so.1 -lib/valgrind/libthr.so.1 +%%RELENG_5%%lib/valgrind/libpthread.so.1 +%%RELENG_5%%lib/valgrind/libthr.so.1 lib/valgrind/stage2 lib/valgrind/valgrind lib/valgrind/vg_inject.so @@ -37,6 +38,7 @@ lib/valgrind/vgskin_none.so lib/valgrind/xfree-3.supp lib/valgrind/xfree-4.supp +%%VALGRIND_SUPPFILE%%lib/valgrind/freebsd-default.supp libdata/pkgconfig/valgrind.pc %%PORTDOCS%%%%DOCSDIR%%/ac_main.html %%PORTDOCS%%%%DOCSDIR%%/cc_main.html -- valgrind-snapshot.patch ends here --