Add a patch from Debian

Update pkg-descr
Bump portrevision

PR:		ports/157913
Submitted by:	Pedro Giffuni <giffunip@tutopia.com> (maintainer)
Approved by:	bapt (mentor)
This commit is contained in:
Julien Laffaye 2011-06-16 15:44:20 +00:00
parent 98a83d0791
commit 2c34dc9689
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=275683
4 changed files with 241 additions and 5 deletions

View file

@ -7,7 +7,7 @@
PORTNAME= dmake
PORTVERSION= 4.12
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_DEBIAN_POOL}
DISTNAME= ${PORTNAME}_${PORTVERSION}.orig
@ -15,10 +15,13 @@ DISTNAME= ${PORTNAME}_${PORTVERSION}.orig
MAINTAINER= ports@FreeBSD.org
COMMENT= Another hyper make utility
LICENSE= GPLv1
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
GNU_CONFIGURE= yes
#CONFIGURE_ENV+= CFLAGS="${CFLAGS} -Wall -Werror"
CONFIGURE_ARGS+=--datarootdir=${PREFIX}/share/${PORTNAME}
MAN1= dmake.1
post-install:

View file

@ -1,3 +1,2 @@
MD5 (dmake_4.12.orig.tar.gz) = 282cd4004ad5c3a9df9f1384c0932829
SHA256 (dmake_4.12.orig.tar.gz) = 142aea347a825f10a37c5f8a39584dcc96a15838b17ea418172834a8778ba205
SIZE (dmake_4.12.orig.tar.gz) = 745531

View file

@ -0,0 +1,233 @@
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 : : <prerequisites follow, maybe empty>]",
@@ -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 \<nl> 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 \<nl> 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

View file

@ -1,3 +1,5 @@
Dmake is a make utility similar to GNU make or the Workshop dmake.
dmake is different from other versions of Make in that it supports
significant enhancements.
@ -5,7 +7,6 @@ The original author(s) were WTICorp.com, but they appear to have lost
interest in maintaining the code.
This port installs the version currently maintained by OpenOffice
project. Unfortunately, OOo does not offer dmake as an independent
download, but, fortunately, the folks at Debian do.
project.
WWW: http://people.debian.org/~rene/dmake/
WWW: http://tools.openoffice.org/dmake/index.html