Date: Mon, 20 Dec 2004 23:15:14 +0100 From: Simon Barner <barner@gmx.de> To: freebsd-ports-bugs@FreeBSD.org Cc: pav@FreeBSD.org Subject: Re: ports/71832: Default Valgrind suppresion files for different FreeBSD releases Message-ID: <20041220221514.GA1362@zi025.glhnet.mhn.de> In-Reply-To: <200412122250.iBCMoFlk053421@freefall.freebsd.org> References: <200412122250.iBCMoFlk053421@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 <bsd.port.post.mk> 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 <bsd.port.pre.mk> +.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 <bsd.port.post.mk> 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 --
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041220221514.GA1362>