diff -ruN dmake.orig/Makefile dmake/Makefile --- dmake.orig/Makefile 2011-09-25 18:03:35.000000000 +0000 +++ dmake/Makefile 2011-09-25 18:16:45.000000000 +0000 @@ -7,17 +7,17 @@ PORTNAME= dmake PORTVERSION= 4.12 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel -MASTER_SITES= ${MASTER_SITE_DEBIAN_POOL} -DISTNAME= ${PORTNAME}_${PORTVERSION}.orig +MASTER_SITES= http://ooo-dmake.googlecode.com/files/ +#PKGNAMEPREFIX= ooo- MAINTAINER= office@FreeBSD.org COMMENT= Another hyper make utility LICENSE= GPLv1 -WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION} +USE_BZIP2= yes GNU_CONFIGURE= yes #CONFIGURE_ENV+= CFLAGS="${CFLAGS} -Wall -Werror" CONFIGURE_ARGS+=--datarootdir=${PREFIX}/share/${PORTNAME} diff -ruN dmake.orig/distinfo dmake/distinfo --- dmake.orig/distinfo 2011-09-25 18:03:35.000000000 +0000 +++ dmake/distinfo 2011-09-25 18:15:26.000000000 +0000 @@ -1,2 +1,2 @@ -SHA256 (dmake_4.12.orig.tar.gz) = 142aea347a825f10a37c5f8a39584dcc96a15838b17ea418172834a8778ba205 -SIZE (dmake_4.12.orig.tar.gz) = 745531 +SHA256 (dmake-4.12.tar.bz2) = cad94620a259f27ce86951332d829cbb6573efe5513b8e114a2194e7862de35e +SIZE (dmake-4.12.tar.bz2) = 502078 diff -ruN dmake.orig/files/patch-fix-overlapping-stcpys.diff dmake/files/patch-fix-overlapping-stcpys.diff --- dmake.orig/files/patch-fix-overlapping-stcpys.diff 2011-09-25 18:03:35.000000000 +0000 +++ dmake/files/patch-fix-overlapping-stcpys.diff 1970-01-01 00:00:00.000000000 +0000 @@ -1,233 +0,0 @@ -diff -ru dmake.orig/rulparse.c rulparse.c ---- dmake.orig/rulparse.c 2009-07-29 13:31:47.000000000 +0100 -+++ rulparse.c 2009-07-29 13:32:09.000000000 +0100 -@@ -897,7 +897,7 @@ - /* Handle %-targets. */ - CELLPTR cur; - CELLPTR tpq = NIL(CELL); -- CELLPTR nprq; -+ CELLPTR nprq = NULL; - - #ifdef DBUG - DB_PRINT( "%", ("Handling %%-target [%s : : ]", -@@ -915,7 +915,8 @@ - - if( *name == '\'' && name[len-1]=='\'' ){ - name[len-1] = '\0'; -- strcpy(name,name+1); -+ len = strlen(name+1)+1; -+ memmove(name,name+1,len); - /* add indirect prerequisite */ - _add_indirect_prereq( cur ); - } -diff -ru dmake.orig/dag.c dag.c ---- dmake.orig/dag.c 2009-08-07 20:18:31.000000000 +0100 -+++ dag.c 2009-08-07 20:30:59.000000000 +0100 -@@ -369,14 +369,17 @@ - /* strip out any \ combinations where \ is the current - * CONTINUATION char */ - for(p=q; (p=strchr(p,CONTINUATION_CHAR))!=NIL(char); ) -- if( p[1] == '\n' ) -- strcpy( p, p+2 ); -+ if( p[1] == '\n' ) { -+ size_t len = strlen(p+2)+1; -+ memmove ( p, p+2, len ); -+ } - else - p++; - - p = DmStrSpn(q ," \t"); /* Strip white space before ... */ - if( p != q ) { -- strcpy( q, p); -+ size_t len = strlen(p)+1; -+ memmove( q, p, len ); - p = q; - } - -diff -ru dmake.orig/expand.c expand.c ---- dmake.orig/expand.c 2009-08-07 20:18:34.000000000 +0100 -+++ expand.c 2009-08-07 20:42:40.000000000 +0100 -@@ -230,6 +230,7 @@ - char *tok; - { - if( strchr( "\"\\vantbrf01234567", tok[1] ) ) { -+ size_t len; - switch( tok[1] ) { - case 'a' : *tok = 0x07; break; - case 'b' : *tok = '\b'; break; -@@ -246,13 +247,15 @@ - register int j = 0; - for( ; i<2 && isdigit(tok[2]); i++ ) { - j = (j << 3) + (tok[1] - '0'); -- strcpy( tok+1, tok+2 ); -+ len = strlen(tok+2)+1; -+ memmove( tok+1, tok+2, len ); - } - j = (j << 3) + (tok[1] - '0'); - *tok = j; - } - } -- strcpy( tok+1, tok+2 ); -+ len = strlen(tok+2)+1; -+ memmove( tok+1, tok+2, len ); - } - } - -@@ -365,7 +368,8 @@ - if( (e = Basename(s)) != s) { - if( !(mod & DIRECTORY_FLAG) ) { - /* Move the basename to the start. */ -- strcpy(s, e); -+ size_t len = strlen(e)+1; -+ memmove(s, e, len); - } - else - s = e; -@@ -382,7 +386,8 @@ - - if( !(mod & FILE_FLAG) ) { - /* Move the suffix to the start. */ -- strcpy( s, e ); -+ size_t len = strlen(e)+1; -+ memmove(s, e, len); - } - else - s = e; -@@ -725,8 +730,10 @@ - done = !lev; - break; - } else { -+ size_t len; - s[1] = ' '; -- strcpy( s, s+1 ); -+ len = strlen(s+1)+1; -+ memmove( s, s+1, len ); - } - /*FALLTHRU*/ - case ' ': -@@ -835,8 +842,10 @@ - * converted them to a real space. Let's verify this. */ - for( p=s; *p && *p != edelim && *p; p++ ) { - if( p[0] == '\\' && p[1] == '\n' ) { -+ size_t len; - p[1] = ' '; -- strcpy( p, p+1 ); -+ len = strlen(p+1)+1; -+ memmove( p, p+1, len ); - } - } - if( !*p ) -@@ -1120,7 +1129,10 @@ - *flag = 1; - res = Expand( start ); - -- if( (t = DmStrSpn( res, " \t" )) != res ) strcpy( res, t ); -+ if( (t = DmStrSpn( res, " \t" )) != res ) { -+ size_t len = strlen(t)+1; -+ memmove( res, t, len ); -+ } - } - - FREE( start ); /* this is ok! start is assigned a DmSubStr above */ -diff -ru dmake.orig/getinp.c getinp.c ---- dmake.orig/getinp.c 2009-08-07 20:18:31.000000000 +0100 -+++ getinp.c 2009-08-07 20:27:08.000000000 +0100 -@@ -169,7 +169,8 @@ - * text lines on input. The maximum size of this is governened by - * Buffer_size */ - if( q != p && q[-1] == CONTINUATION_CHAR ) { -- strcpy( q, q+1 ); -+ size_t len = strlen(q+1)+1; -+ memmove( q, q+1, len ); - q--; - cont = FALSE; - } -@@ -290,7 +291,8 @@ - while( (c = strchr(c, COMMENT_CHAR)) != NIL(char) ) { - if( Comment || State == NORMAL_SCAN ) - if( c != str && c[-1] == ESCAPE_CHAR ) { -- strcpy( c-1, c ); /* copy it left, due to \# */ -+ size_t len = strlen(c)+1; -+ memmove( c-1, c, len ); /* copy it left, due to \# */ - if( pend ) (*pend)--; /* shift tail pointer left */ - } - else { -diff -ru dmake.orig/path.c path.c ---- dmake.orig/path.c 2009-08-07 20:18:31.000000000 +0100 -+++ path.c 2009-08-07 20:41:30.000000000 +0100 -@@ -172,6 +172,7 @@ - char *tpath; - int hasdriveletter = 0; - int delentry; -+ size_t len; - - DB_ENTER( "Clean_path" ); - -@@ -231,14 +232,16 @@ - p++; - } - while( *p == *DirSepStr); -- strcpy(t+1,p); -+ len = strlen(p)+1; -+ memmove(t+1,p,len); - continue; - } - - /* Remove './'. If OOODMAKEMODE is set do this only if it is not at - * the start of the path. */ - if ( p-q == 1 && *q == '.' && (q != path || !STOBOOL(OOoDmMode)) ) { -- strcpy(q,p+1); -+ len = strlen(p+1)+1; -+ memmove(q,p+1,len); - q = tpath; - continue; - } -@@ -268,7 +271,8 @@ - } - while( *t == *DirSepStr); - /* q points to first letter of the current directory/file. */ -- strcpy(q,t); -+ len = strlen(t)+1; -+ memmove(q,t,len); - q = tpath; - } - else ---- dmake.orig/make.c 2009-08-08 09:56:10.000000000 +0100 -+++ make.c 2009-08-08 10:00:04.000000000 +0100 -@@ -1352,8 +1352,10 @@ - * Nothing in Expand() should be able to change dynamic macros. */ - cmnd = Expand( rp->st_string ); - -- if( new_attr && (p = DmStrSpn(cmnd," \t\n+-@%")) != cmnd ) -- strcpy(cmnd,p); -+ if( new_attr && (p = DmStrSpn(cmnd," \t\n+-@%")) != cmnd ) { -+ size_t len = strlen(p)+1; -+ memmove(cmnd,p,len); -+ } - - /* COMMAND macro is set to "$(CMNDNAME) $(CMNDARGS)" by default, it is - * possible for the user to reset it to, for example -@@ -1381,8 +1383,10 @@ - shell = ((l_attr & A_SHELL) != 0); - - /* clean up the attributes that we may have just added. */ -- if( (p = DmStrSpn(cmnd," \t\n+-@%")) != cmnd ) -- strcpy(cmnd,p); -+ if( (p = DmStrSpn(cmnd," \t\n+-@%")) != cmnd ) { -+ size_t len = strlen(p)+1; -+ memmove(cmnd,p,len); -+ } - } - - #if defined(MSDOS) -@@ -1477,8 +1481,9 @@ - for( p=cmnd; *(n = DmStrPbrk(p,tmp)) != '\0'; ) - /* Remove the \ sequences. */ - if(*n == CONTINUATION_CHAR && n[1] == '\n') { -+ size_t len = strlen(n+2)+1; - DB_PRINT( "make", ("fixing [%s]", p) ); -- strcpy( n, n+2 ); -+ memmove( n, n+2, len ); - p = n; - } - /* Look for an escape sequence and replace it by it's corresponding diff -ruN dmake.orig/pkg-descr dmake/pkg-descr --- dmake.orig/pkg-descr 2011-09-25 18:03:35.000000000 +0000 +++ dmake/pkg-descr 2011-09-25 18:04:50.000000000 +0000 @@ -9,4 +9,4 @@ This port installs the version currently maintained by OpenOffice project. -WWW: http://tools.openoffice.org/dmake/index.html +WWW: http://code.google.com/p/ooo-dmake/