OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall Root: /v/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src Date: 30-Oct-2006 20:21:11 Branch: OPENPKG_2_STABLE Handle: 2006103019211000 Modified files: (Branch: OPENPKG_2_STABLE) openpkg-src/cvstrac cvstrac.patch cvstrac.spec Log: MFC: all recent fixes, including the segfault under 64-bit platforms Summary: Revision Changes Path 1.7.2.2 +257 -19 openpkg-src/cvstrac/cvstrac.patch 1.44.2.3 +6 -6 openpkg-src/cvstrac/cvstrac.spec ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/cvstrac/cvstrac.patch ============================================================================ $ cvs diff -u -r1.7.2.1 -r1.7.2.2 cvstrac.patch --- openpkg-src/cvstrac/cvstrac.patch 16 Oct 2006 14:49:16 -0000 1.7.2.1 +++ openpkg-src/cvstrac/cvstrac.patch 30 Oct 2006 19:21:10 -0000 1.7.2.2 @@ -1,6 +1,6 @@ Index: attach.c --- attach.c.orig 2006-05-26 16:20:28 +0200 -+++ attach.c 2006-09-28 17:43:45 +0200 ++++ attach.c 2006-10-30 20:14:51 +0100 @@ -210,17 +210,20 @@ } @@ -35,7 +35,7 @@ if( !got ){ Index: browse.c --- browse.c.orig 2006-05-26 16:20:28 +0200 -+++ browse.c 2006-09-28 17:43:45 +0200 ++++ browse.c 2006-10-30 20:14:51 +0100 @@ -503,6 +503,13 @@ ){ int set = (zFld==zField[0]); @@ -180,7 +180,16 @@ } Index: cgi.c --- cgi.c.orig 2006-05-26 16:20:28 +0200 -+++ cgi.c 2006-09-28 17:43:45 +0200 ++++ cgi.c 2006-10-30 20:14:51 +0100 +@@ -187,7 +187,7 @@ + char zETag[64]; + + MD5Init(&ctx); +- MD5Update(&ctx,zTxt,nLen); ++ MD5Update(&ctx,(unsigned char *)zTxt,nLen); + MD5Final(digest,&ctx); + for(j=i=0; i<16; i++,j+=2){ + bprintf(&zETag[j],sizeof(zETag)-j,"%02x",(int)digest[i]); @@ -382,7 +382,7 @@ continue; } @@ -190,9 +199,27 @@ } zDest[j++] = zDest[i]; } +@@ -2343,7 +2343,7 @@ + int i, n; + + if( nData<=0 ){ +- nData = strlen(zData); ++ nData = strlen((const char *)zData); + } + z64 = malloc( (nData*4)/3 + 6 ); + if(z64==0) return 0; +@@ -2385,7 +2385,7 @@ + for(i=0; zBase[i]; i++){ trans[zBase[i] & 0x7f] = i; } + isInit = 1; + } +- n64 = strlen(z64); ++ n64 = strlen((const char *)z64); + while( n64>0 && z64[n64-1]=='=' ) n64--; + zData = malloc( (n64*3)/4 + 4 ); + if( zData==0 ) return 0; Index: common.c --- common.c.orig 2006-05-26 16:20:28 +0200 -+++ common.c 2006-09-28 17:43:45 +0200 ++++ common.c 2006-10-30 20:14:51 +0100 @@ -394,7 +394,10 @@ } @ </small> @@ -205,10 +232,55 @@ @ <a href="honeypot"><small><notatag arg="meaningless"></small></a> @ <small><a href="login?nxp=%T(zUri)" title="Log in">Not logged in</a></small> } +Index: config.h +--- config.h.orig 2006-05-26 16:20:28 +0200 ++++ config.h 2006-10-30 20:14:51 +0100 +@@ -9,6 +9,9 @@ + #include <stdarg.h> + #include <sqlite3.h> + #include <assert.h> ++#if defined(__linux__) || defined(__sun__) ++#include <crypt.h> ++#endif + + /* + ** Standard colors. These colors can also be changed using a stylesheet. +Index: cvs.c +--- cvs.c.orig 2006-05-26 16:20:28 +0200 ++++ cvs.c 2006-10-30 20:14:51 +0100 +@@ -234,6 +234,7 @@ + char **azFileList; + FILE *in; + int i, nField; ++ unsigned long ul; + time_t minTime, maxTime, tm; + struct stat statbuf; + int cnum = 0; /* check-in number to use for this checkin */ +@@ -307,7 +308,8 @@ + ** T Tagging operations + */ + if( (c = zLine[0])!='A' && c!='M' && c!='T' && c!='R' ) continue; +- if( sscanf(&zLine[1],"%lx",&tm)!=1 ) continue; ++ if( sscanf(&zLine[1],"%lx",&ul)!=1 ) continue; ++ tm = (time_t)ul; + if( tm<minTime ) minTime = tm; + if( tm>maxTime ) maxTime = tm; + Index: db.c --- db.c.orig 2006-05-26 16:20:28 +0200 -+++ db.c 2006-09-28 17:43:45 +0200 -@@ -602,7 +602,7 @@ ++++ db.c 2006-10-30 20:14:51 +0100 +@@ -107,6 +107,10 @@ + extern int sqlite3StrICmp(const char*, const char*); + if( type==SQLITE_SELECT ){ + return SQLITE_OK; ++#ifdef SQLITE_FUNCTION ++ }else if( type==SQLITE_FUNCTION ){ ++ return SQLITE_OK; ++#endif + }else if( type==SQLITE_READ ){ + if( sqlite3StrICmp(zArg1,"user")==0 ){ + if( sqlite3StrICmp(zArg2,"passwd")==0 || sqlite3StrICmp(zArg2,"email")==0 ){ +@@ -602,7 +606,7 @@ } if( argc>1 && g.nAux<MX_AUX ){ char *zErr; @@ -217,7 +289,7 @@ if( zQuery==0 ) { db_err("Query cannot be NULL", "NULL", "Illegal option() query"); } -@@ -1044,12 +1044,13 @@ +@@ -1044,12 +1048,13 @@ @ FROM ticket"); @ ---------------------------------------------------------------------------- @ INSERT INTO reportfmt VALUES(5,NULL,'Tickets counts',NULL,"SELECT @@ -237,18 +309,22 @@ @ FROM ticket GROUP BY status @ UNION @ SELECT -@@ -1793,7 +1794,7 @@ - const char *zIn = (const char*)sqlite3_value_text(argv[0]); +@@ -1790,10 +1795,10 @@ + */ + static void f_decode(sqlite3_context *context, int argc, sqlite3_value **argv){ + if( argc==2 ) { +- const char *zIn = (const char*)sqlite3_value_text(argv[0]); ++ const unsigned char *zIn = sqlite3_value_text(argv[0]); int nBytes = sqlite3_value_int(argv[1]); if( zIn && zIn[0] && nBytes>0 ){ - const char *zOut = calloc(nBytes,1); -+ char *zOut = calloc(nBytes,1); ++ char unsigned *zOut = calloc(nBytes,1); int nDecoded; if( zOut==0 ){ db_err( strerror(errno), 0, Index: format.c --- format.c.orig 2006-05-26 16:20:28 +0200 -+++ format.c 2006-09-28 17:43:45 +0200 ++++ format.c 2006-10-30 20:14:51 +0100 @@ -760,7 +760,7 @@ if( az && az[0] && az[1] ){ cgi_printf("<a href=\"%z\" title=\"%h\">",zLink,az[0]); @@ -260,7 +336,7 @@ cgi_printf("<strike>#%d</strike>",tn); Index: login.c --- login.c.orig 2006-05-26 16:20:28 +0200 -+++ login.c 2006-09-28 17:51:54 +0200 ++++ login.c 2006-10-30 20:14:51 +0100 @@ -55,8 +55,8 @@ zGoto = P("g"); if( P("out")!=0 ){ @@ -272,9 +348,101 @@ cgi_redirect(PD("nxp","index")); return; } +@@ -102,15 +102,15 @@ + const char *zAddr; + const char *zAgent; + char zHash[200]; +- char zRawDigest[16]; ++ unsigned char zRawDigest[16]; + MD5Context ctx; + + time(&now); + bprintf(zHash,sizeof(zHash),"%d%d%.19s", getpid(), (int)now, zPasswd); + MD5Init(&ctx); +- MD5Update(&ctx, zHash, strlen(zHash)); ++ MD5Update(&ctx, (unsigned char *)zHash, strlen(zHash)); + MD5Final(zRawDigest, &ctx); +- zDigest = encode64(zRawDigest, 16); ++ zDigest = (char *)encode64(zRawDigest, 16); + zAddr = getenv("REMOTE_ADDR"); + if( zAddr==0 ) zAddr = "0.0.0.0"; + zAgent = getenv("HTTP_USER_AGENT"); +Index: makeheaders.c +--- makeheaders.c.orig 2006-05-26 16:20:28 +0200 ++++ makeheaders.c 2006-10-30 20:14:51 +0100 +@@ -11,9 +11,8 @@ + #include <assert.h> + #ifndef WIN32 + # include <unistd.h> +-#else +-# include <string.h> + #endif ++#include <string.h> + + /* + ** Macros for debugging. +@@ -2137,7 +2136,7 @@ + zArg++; + } + if( *zArg==0 || *zArg=='\n' ){ return 0; } +- nArg = pToken->nText + (int)pToken->zText - (int)zArg; ++ nArg = pToken->nText + pToken->zText - zArg; + if( nArg==9 && strncmp(zArg,"INTERFACE",9)==0 ){ + PushIfMacro(0,0,0,pToken->nLine,PS_Interface); + }else if( nArg==16 && strncmp(zArg,"EXPORT_INTERFACE",16)==0 ){ +@@ -2156,7 +2155,7 @@ + zArg++; + } + if( *zArg==0 || *zArg=='\n' ){ return 0; } +- nArg = pToken->nText + (int)pToken->zText - (int)zArg; ++ nArg = pToken->nText + pToken->zText - zArg; + PushIfMacro("defined",zArg,nArg,pToken->nLine,0); + }else if( nCmd==6 && strncmp(zCmd,"ifndef",6)==0 ){ + /* +@@ -2167,7 +2166,7 @@ + zArg++; + } + if( *zArg==0 || *zArg=='\n' ){ return 0; } +- nArg = pToken->nText + (int)pToken->zText - (int)zArg; ++ nArg = pToken->nText + pToken->zText - zArg; + PushIfMacro("!defined",zArg,nArg,pToken->nLine,0); + }else if( nCmd==4 && strncmp(zCmd,"else",4)==0 ){ + /* +@@ -2793,7 +2792,7 @@ + fprintf(stderr, + "%s: Can't overwrite this file because it wasn't previously\n" + "%*s generated by 'makeheaders'.\n", +- pFile->zHdr, strlen(pFile->zHdr), ""); ++ pFile->zHdr, (int)strlen(pFile->zHdr), ""); + nErr++; + }else if( strcmp(zOldVersion,zNewVersion)!=0 ){ + if( report ) fprintf(report,"updated\n"); +@@ -2952,10 +2951,10 @@ + pDecl->zName, + zLabel, + pDecl->zFile, +- pDecl->pComment ? (int)pDecl->pComment/sizeof(Token) : 0, ++ pDecl->pComment ? /* TOTALLY BOGUS: (int)pDecl->pComment/sizeof(Token) */ 0 : 0, + pDecl->pComment ? pDecl->pComment->nText+1 : 0, +- pDecl->zIf ? strlen(pDecl->zIf)+1 : 0, +- zDecl ? strlen(zDecl) : 0, ++ pDecl->zIf ? (int)strlen(pDecl->zIf)+1 : 0, ++ zDecl ? (int)strlen(zDecl) : 0, + pDecl->pComment ? pDecl->pComment->nLine : 0, + pDecl->tokenCode.nText ? pDecl->tokenCode.nText+1 : 0 + ); Index: search.c --- search.c.orig 2006-05-26 16:20:28 +0200 -+++ search.c 2006-09-28 17:43:45 +0200 ++++ search.c 2006-10-30 20:14:51 +0100 +@@ -88,7 +88,7 @@ + const char *zPattern; + + if( argc<2 || argv[0]==0 ) return; +- zPattern = sqlite3_value_text(argv[0]); ++ zPattern = (const char *)sqlite3_value_text(argv[0]); + total = 0; + if( zPattern && zPattern[0] ){ + for(i=0; zPattern[i]; i++){ @@ -97,7 +97,7 @@ score = 0; for(k=1; k<argc; k++){ @@ -295,7 +463,16 @@ /* Index: setup.c --- setup.c.orig 2006-05-26 16:20:28 +0200 -+++ setup.c 2006-09-28 17:43:45 +0200 ++++ setup.c 2006-10-30 20:15:28 +0100 +@@ -334,7 +334,7 @@ + @ passwords of all CVSTrac users. Enable or disable this feature + @ below.</p> + @ <p>Write User Changes to CVSROOT/passwd? +- cgi_optionmenu(0, "wpw", zOldWPswd, "Yes", "yes", "No", "no", 0); ++ cgi_optionmenu(0, "wpw", zOldWPswd, "Yes", "yes", "No", "no", NULL); + @ <input type="submit" value="Submit"> + @ </p> + } @@ -499,7 +499,7 @@ @ <form action="%s(g.zPath)" method="POST"> @ Select a user to whom new tickets will be assigned by default:</p><p> @@ -305,9 +482,26 @@ cgi_v_optionmenu(0, "asgnto", zOldAsgnto, (const char**)azResult); @ </p> @ +@@ -521,14 +521,14 @@ + @ Select the default priority for new tickets:</p><p> + @ Default Priority: + cgi_optionmenu(0, "pri", zOldPri, "1", "1", "2", "2", "3", "3", "4", "4", +- "5", "5", (char*)0); ++ "5", "5", NULL); + @ </p> + @ + @ <p> + @ Select the default severity for new tickets:</p><p> + @ Default Severity: + cgi_optionmenu(0, "sev", zOldSev, "1", "1", "2", "2", "3", "3", "4", "4", +- "5", "5", (char*)0); ++ "5", "5", NULL); + @ </p> + @ + @ <p> Index: throttle.c --- throttle.c.orig 2006-05-26 16:20:28 +0200 -+++ throttle.c 2006-09-28 17:43:45 +0200 ++++ throttle.c 2006-10-30 20:14:51 +0100 @@ -165,7 +165,7 @@ } @@ -319,7 +513,25 @@ lockout(); Index: ticket.c --- ticket.c.orig 2006-05-26 16:20:28 +0200 -+++ ticket.c 2006-09-28 17:43:45 +0200 ++++ ticket.c 2006-10-30 20:14:51 +0100 +@@ -358,7 +358,7 @@ + @ <td align="right"><nobr> + @ Severity: + cgi_optionmenu(0, "r", zSev, +- "1", "1", "2", "2", "3", "3", "4", "4", "5", "5", 0); ++ "1", "1", "2", "2", "3", "3", "4", "4", "5", "5", NULL); + @ </nobr></td> + @ <td> + @ How debilitating is the problem? "1" is a show-stopper defect with +@@ -372,7 +372,7 @@ + @ <td align="right"><nobr> + @ Priority: + cgi_optionmenu(0, "p", zPri, +- "1", "1", "2", "2", "3", "3", "4", "4", "5", "5", 0); ++ "1", "1", "2", "2", "3", "3", "4", "4", "5", "5", NULL); + @ </nobr></td> + @ <td> + @ How quickly do you need this ticket to be resolved? @@ -388,7 +388,7 @@ @ <tr> @ <td align="right"><nobr> @@ -338,7 +550,15 @@ az = db_query("SELECT '', '' UNION ALL " "SELECT name, value FROM enums WHERE type='subsys'"); if( az[0] && az[1] && az[2] ){ -@@ -1323,7 +1333,7 @@ +@@ -1316,14 +1318,14 @@ + @ <nobr> + @ Severity: + cgi_optionmenu(0, "e", aParm[5].zNew, +- "1", "1", "2", "2", "3", "3", "4", "4", "5", "5", 0); ++ "1", "1", "2", "2", "3", "3", "4", "4", "5", "5", NULL); + @ </nobr> + @ + @ @ <nobr> @ Assigned To: azUsers = (const char**)db_query( @@ -347,7 +567,16 @@ cgi_v_optionmenu(0, "a", aParm[4].zNew, azUsers); @ </nobr> @ -@@ -1442,16 +1452,18 @@ +@@ -1349,7 +1351,7 @@ + @ <nobr> + @ Priority: + cgi_optionmenu(0, "p", aParm[6].zNew, +- "1", "1", "2", "2", "3", "3", "4", "4", "5", "5", 0); ++ "1", "1", "2", "2", "3", "3", "4", "4", "5", "5", NULL); + @ </nobr> + @ + @ +@@ -1442,16 +1444,18 @@ int doSubmit; const char *zText; const char *zTn; @@ -369,7 +598,7 @@ doSubmit = P("submit")!=0; Index: timeline.c --- timeline.c.orig 2006-05-26 16:20:28 +0200 -+++ timeline.c 2006-09-28 17:43:45 +0200 ++++ timeline.c 2006-10-30 20:14:51 +0100 @@ -1105,6 +1105,9 @@ z = db_short_query("SELECT date FROM chng WHERE cn=%d",cn); if( z ) cgi_modified_since(atoi(z)); @@ -380,3 +609,12 @@ /* patchsets are raw output based one what are supposed to be unchanging file ** revisions. */ +@@ -1383,7 +1386,7 @@ + @ <td><input type="text" name="t" value="%s(zDate)" size=26></td> + @ <td width=20> </td> + @ <td>Type: +- cgi_optionmenu(2,"y", zMType, "Release", "1", "Event", "2", 0); ++ cgi_optionmenu(2,"y", zMType, "Release", "1", "Event", "2", NULL); + @ </td></tr> + @ </td></tr> + @ <tr><td align="right">Branch:</td><td> @@ . patch -p0 <<'@@ .' Index: openpkg-src/cvstrac/cvstrac.spec ============================================================================ $ cvs diff -u -r1.44.2.2 -r1.44.2.3 cvstrac.spec --- openpkg-src/cvstrac/cvstrac.spec 16 Oct 2006 14:49:16 -0000 1.44.2.2 +++ openpkg-src/cvstrac/cvstrac.spec 30 Oct 2006 19:21:10 -0000 1.44.2.3 @@ -33,7 +33,7 @@ Group: SCM License: GPL Version: 2.0.0 -Release: 2.20061018 +Release: 2.20061030 # list of sources Source0: http://www.cvstrac.org/cvstrac-%{version}.tar.gz @@ -51,11 +51,11 @@ AutoReqProv: no %description - CVSTrac is bug tracking system for use with the CVS, Subversion - and Git SCMs, appropriate for use on projects with up to a few - hundred developers. CVSTrac is designed for low-ceremony development - -- it provides mechanisms for tracking changes and bugs without - unnecessary restrictions. + CVSTrac provides repository browsing, changeset tracking, issue + tracking and Wiki-based community documentation functionality for + use with the CVS, Subversion and Git source code management (SCM) + systems. It is appropriate for use on projects with up to a few + hundred developers and is designed for low-ceremony workflows. %track prog cvstrac = { @@ . ______________________________________________________________________ The OpenPKG Project www.openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org