ports/161022: devel/dmake: Use new official site and tarball
Pedro Giffuni
giffunip at tutopia.com
Sun Sep 25 23:30:13 UTC 2011
>Number: 161022
>Category: ports
>Synopsis: devel/dmake: Use new official site and tarball
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Sep 25 23:30:12 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Pedro Giffuni
>Release: 9.0-CURRENT (pre BETA)
>Organization:
>Environment:
FreeBSD mogwai.giffuni.net 9.0-CURRENT FreeBSD 9.0-CURRENT #6: Sat Apr 30 01:37:57 PDT 2011 root at build9x64.pcbsd.org:/usr/obj/pcbsd-build90/fbsd-source/9.0/sys/PCBSD amd64
>Description:
Both Apache OpenOffice.org and LibreOffice use this tool to build but have plans to deprecate it.
Apache OpenOffice.org will not carry GPL'd software in their repositories so it is was natural to move this into it's own repository elsewhere before the Oracle OpenOffice.org website disappears.
We will now use the latest tarball so the patches won't be needed.
>How-To-Repeat:
>Fix:
Patch attached with submission follows:
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 at 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 : : <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
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/
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list