diff options
author | reed <reed@pkgsrc.org> | 2010-02-14 00:06:16 +0000 |
---|---|---|
committer | reed <reed@pkgsrc.org> | 2010-02-14 00:06:16 +0000 |
commit | e23cabd37321ad567b29d34f77200fc62bb34405 (patch) | |
tree | 7fe4e338e4fa49ef6a9ca6b1c6c69c9983549d25 | |
parent | c112c7cfd153bcf372671282479fe1c657acaf20 (diff) | |
download | pkgsrc-e23cabd37321ad567b29d34f77200fc62bb34405.tar.gz |
Per my old PR #40238: Match up the directory name and package name
to match the source distfile name.
(It had three different names, including, the distfile name.)
This moves electricfence to electricfence and renames the package from
ElectricFence to electric-fence.
-rw-r--r-- | devel/electric-fence/DESCR | 7 | ||||
-rw-r--r-- | devel/electric-fence/Makefile | 32 | ||||
-rw-r--r-- | devel/electric-fence/PLIST | 3 | ||||
-rw-r--r-- | devel/electric-fence/distinfo | 8 | ||||
-rw-r--r-- | devel/electric-fence/patches/patch-aa | 85 | ||||
-rw-r--r-- | devel/electric-fence/patches/patch-ab | 28 | ||||
-rw-r--r-- | devel/electric-fence/patches/patch-ac | 13 |
7 files changed, 176 insertions, 0 deletions
diff --git a/devel/electric-fence/DESCR b/devel/electric-fence/DESCR new file mode 100644 index 00000000000..dccc91bf84b --- /dev/null +++ b/devel/electric-fence/DESCR @@ -0,0 +1,7 @@ +Electric Fence is a different kind of malloc() debugger. It uses the virtual +memory hardware of your system to detect when software overruns the boundaries +of a malloc() buffer. It will also detect any accesses of memory that has +been released by free(). Because it uses the VM hardware for detection, +Electric Fence stops your program on the first instruction that causes +a bounds violation. It's then trivial to use a debugger to display the +offending statement. diff --git a/devel/electric-fence/Makefile b/devel/electric-fence/Makefile new file mode 100644 index 00000000000..f157f942900 --- /dev/null +++ b/devel/electric-fence/Makefile @@ -0,0 +1,32 @@ +# $NetBSD: Makefile,v 1.1.1.1 2010/02/14 00:06:16 reed Exp $ + +DISTNAME= electric-fence_2.1.13-0.1 +PKGNAME= electric-fence-2.1.13.0.1 +CATEGORIES= devel +MASTER_SITES= http://perens.com/works/software/ElectricFence/ + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://www.perens.com/FreeSoftware/ +COMMENT= Different kind of malloc() debugger + +PREV_PKGPATH= devel/electricfence +SUPERSEDES= ElectricFence<=2.1.13.0.1 + +PKG_DESTDIR_SUPPORT= user-destdir +USE_LIBTOOL= yes +WRKSRC= ${WRKDIR}/${DISTNAME:C/-0.1//1:C/_/-/1} + +MAKE_FLAGS= INSTALL_MAN=${INSTALL_MAN:Q} +PTHREAD_AUTO_VARS= yes +AUTO_MKDIRS= yes + +.include "../../mk/bsd.prefs.mk" + +.if ${MACHINE_ARCH} == "mipsel" || ${OPSYS} == "DragonFly" +CFLAGS+= -g -DPAGE_PROTECTION_VIOLATED_SIGNAL=SIGBUS +.else +CFLAGS+= -g +.endif + +.include "../../mk/pthread.buildlink3.mk" +.include "../../mk/bsd.pkg.mk" diff --git a/devel/electric-fence/PLIST b/devel/electric-fence/PLIST new file mode 100644 index 00000000000..1ef091964c5 --- /dev/null +++ b/devel/electric-fence/PLIST @@ -0,0 +1,3 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2010/02/14 00:06:16 reed Exp $ +lib/libefence.la +man/man3/libefence.3 diff --git a/devel/electric-fence/distinfo b/devel/electric-fence/distinfo new file mode 100644 index 00000000000..ea952a1a9fe --- /dev/null +++ b/devel/electric-fence/distinfo @@ -0,0 +1,8 @@ +$NetBSD: distinfo,v 1.1.1.1 2010/02/14 00:06:16 reed Exp $ + +SHA1 (electric-fence_2.1.13-0.1.tar.gz) = e6765bcb1543272040b806eea706fc7ae9b60524 +RMD160 (electric-fence_2.1.13-0.1.tar.gz) = 75e41de7bef263007f24a1053528959f9f7fe1fa +Size (electric-fence_2.1.13-0.1.tar.gz) = 29991 bytes +SHA1 (patch-aa) = 9b2f1720a92c805d8d4b36631317493124c2f2d7 +SHA1 (patch-ab) = 64c503ce8d2ea9b55432d59a187e644af38e257b +SHA1 (patch-ac) = 4c56eeea0b8e53cdf260b61aa8fdef16f601b186 diff --git a/devel/electric-fence/patches/patch-aa b/devel/electric-fence/patches/patch-aa new file mode 100644 index 00000000000..33a397d66be --- /dev/null +++ b/devel/electric-fence/patches/patch-aa @@ -0,0 +1,85 @@ +$NetBSD: patch-aa,v 1.1.1.1 2010/02/14 00:06:16 reed Exp $ + +--- Makefile.orig 2002-02-19 23:51:44.000000000 +0200 ++++ Makefile +@@ -1,12 +1,14 @@ +-ASFLAGS= -mips2 +-CC= cc +-AR= ar +-INSTALL= install +-MV= mv +-CHMOD= chmod +-CFLAGS= -g +-LIB_INSTALL_DIR= /usr/lib +-MAN_INSTALL_DIR= /usr/man/man3 ++#ASFLAGS= -mips2 ++#CC= cc ++#AR= ar ++#INSTALL= install ++#MV= mv ++#CHMOD= chmod ++#CFLAGS= -g ++LIB_INSTALL_DIR= ${PREFIX}/lib ++MAN_INSTALL_DIR= ${PREFIX}/${PKGMANDIR}/man3 ++SO_VER= 0:0 ++LIBTOOL= libtool + + PACKAGE_SOURCE= README libefence.3 Makefile efence.h \ + efence.c page.c print.c eftest.c tstheap.c CHANGES COPYING +@@ -26,9 +28,9 @@ PACKAGE_SOURCE= README libefence.3 Makef + # as well if using Sun's compiler, -static if using GCC. + # CFLAGS= -g -Bstatic -DPAGE_PROTECTION_VIOLATED_SIGNAL=SIGBUS + +-OBJECTS= efence.o page.o print.o ++OBJECTS= efence.lo page.lo print.lo + +-all: libefence.a tstheap eftest ++all: libefence.la tstheap eftest + @ echo + @ echo "Testing Electric Fence." + @ echo "After the last test, it should print that the test has PASSED." +@@ -38,11 +40,9 @@ all: libefence.a tstheap eftest + @ echo "Electric Fence confidence test PASSED." + @ echo + +-install: libefence.a libefence.3 +- $(MV) libefence.a $(LIB_INSTALL_DIR) +- $(CHMOD) 644 $(LIB_INSTALL_DIR)/libefence.a +- $(INSTALL) libefence.3 $(MAN_INSTALL_DIR)/libefence.3 +- $(CHMOD) 644 $(MAN_INSTALL_DIR)/libefence.3 ++install: libefence.la libefence.3 ++ $(LIBTOOL) --mode=install $(INSTALL) -c libefence.la $(DESTDIR)${LIB_INSTALL_DIR} ++ $(INSTALL_MAN) libefence.3 ${DESTDIR}$(MAN_INSTALL_DIR)/libefence.3 + + clean: + - rm -f $(OBJECTS) tstheap.o eftest.o tstheap eftest libefence.a \ +@@ -57,16 +57,22 @@ ElectricFence.shar: $(PACKAGE_SOURCE) + + shar: ElectricFence.shar + +-libefence.a: $(OBJECTS) +- - rm -f libefence.a +- $(AR) crv libefence.a $(OBJECTS) ++libefence.la: $(OBJECTS) ++ $(LIBTOOL) --tag=CC --mode=link ${CC} -o libefence.la \ ++ ${OBJECTS} ${LDFLAGS} ${LIBS} \ ++ -rpath ${LIB_INSTALL_DIR} -version-info ${SO_VER} + +-tstheap: libefence.a tstheap.o ++tstheap: libefence.la tstheap.o + - rm -f tstheap +- $(CC) $(CFLAGS) tstheap.o libefence.a -o tstheap -lpthread ++ $(CC) $(CFLAGS) tstheap.o .libs/libefence.a -o tstheap -lpthread + +-eftest: libefence.a eftest.o ++eftest: libefence.la eftest.o + - rm -f eftest +- $(CC) $(CFLAGS) eftest.o libefence.a -o eftest -lpthread ++ $(CC) $(CFLAGS) eftest.o .libs/libefence.a -o eftest -lpthread + + $(OBJECTS) tstheap.o eftest.o: efence.h ++ ++.SUFFIXES: .lo ++.c.lo: ++ $(LIBTOOL) --tag=CC --mode=compile $(CC) -o ${.TARGET} \ ++ -c ${CPPFLAGS} ${CFLAGS} ${.IMPSRC} diff --git a/devel/electric-fence/patches/patch-ab b/devel/electric-fence/patches/patch-ab new file mode 100644 index 00000000000..5c9cfc36eed --- /dev/null +++ b/devel/electric-fence/patches/patch-ab @@ -0,0 +1,28 @@ +$NetBSD: patch-ab,v 1.1.1.1 2010/02/14 00:06:16 reed Exp $ + +--- page.c.orig 2001-04-11 17:44:04.000000000 +0300 ++++ page.c +@@ -29,7 +29,7 @@ + + static caddr_t startAddr = (caddr_t) 0; + +-#if ( !defined(sgi) && !defined(_AIX) ) ++#if ( !defined(sgi) && !defined(_AIX) && !(defined(BSD) && BSD >= 199306) && !defined(linux) && !defined(__INTERIX) ) + extern int sys_nerr; + /*extern char * sys_errlist[];*/ + #endif +@@ -39,13 +39,8 @@ stringErrorReport(void) + { + #if ( defined(sgi) ) + return strerror(oserror()); +-#elif ( defined(_AIX) ) +- return strerror(errno); + #else +- if ( errno > 0 && errno < sys_nerr ) +- return sys_errlist[errno]; +- else +- return "Unknown error.\n"; ++ return strerror(errno); + #endif + } + diff --git a/devel/electric-fence/patches/patch-ac b/devel/electric-fence/patches/patch-ac new file mode 100644 index 00000000000..ccd3df4eb21 --- /dev/null +++ b/devel/electric-fence/patches/patch-ac @@ -0,0 +1,13 @@ +$NetBSD: patch-ac,v 1.1.1.1 2010/02/14 00:06:16 reed Exp $ + +--- tstheap.c.orig Fri Jan 20 05:54:32 1995 ++++ tstheap.c +@@ -47,7 +47,7 @@ + + for ( ; count < duration; count++ ) { + void * * element = &pool[(int)(drand48() * POOL_SIZE)]; +- size_t size = (size_t)(drand48() * (LARGEST_BUFFER + 1)); ++ size_t size = (size_t)(lrand48() % (LARGEST_BUFFER + 1)); + + if ( *element ) { + free( *element ); |