ports/71832: Default Valgrind suppresion files for different FreeBSD releases

Simon Barner barner at gmx.de
Wed Dec 22 16:40:33 UTC 2004


The following reply was made to PR ports/71832; it has been noted by GNATS.

From: Simon Barner <barner at gmx.de>
To: FreeBSD-gnats-submit at 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 <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 --



More information about the freebsd-ports-bugs mailing list