From owner-svn-ports-head@FreeBSD.ORG Mon Oct 21 20:09:46 2013 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id F008AEE1; Mon, 21 Oct 2013 20:09:45 +0000 (UTC) (envelope-from cy@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id CD6342294; Mon, 21 Oct 2013 20:09:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r9LK9jxB023785; Mon, 21 Oct 2013 20:09:45 GMT (envelope-from cy@svn.freebsd.org) Received: (from cy@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r9LK9hi9023768; Mon, 21 Oct 2013 20:09:43 GMT (envelope-from cy@svn.freebsd.org) Message-Id: <201310212009.r9LK9hi9023768@svn.freebsd.org> From: Cy Schubert Date: Mon, 21 Oct 2013 20:09:43 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r331184 - in head/devel/rcs57: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Oct 2013 20:09:46 -0000 Author: cy Date: Mon Oct 21 20:09:43 2013 New Revision: 331184 URL: http://svnweb.freebsd.org/changeset/ports/331184 Log: Apply patches from base/ (default option). PR: 183142 Added: head/devel/rcs57/files/freebsd-src-ident.c (contents, props changed) head/devel/rcs57/files/freebsd-src-maketime.c (contents, props changed) head/devel/rcs57/files/freebsd-src-rcsbase.h (contents, props changed) head/devel/rcs57/files/freebsd-src-rcsdiff.c (contents, props changed) head/devel/rcs57/files/freebsd-src-rcsedit.c (contents, props changed) head/devel/rcs57/files/freebsd-src-rcsfnms.c (contents, props changed) head/devel/rcs57/files/freebsd-src-rcskeep.c (contents, props changed) head/devel/rcs57/files/freebsd-src-rcskeys.c (contents, props changed) head/devel/rcs57/files/freebsd-src-rcsrev.c (contents, props changed) head/devel/rcs57/files/freebsd-src-rcsutil.c (contents, props changed) head/devel/rcs57/files/freebsd-src-rlog.c (contents, props changed) Modified: head/devel/rcs57/Makefile Modified: head/devel/rcs57/Makefile ============================================================================== --- head/devel/rcs57/Makefile Mon Oct 21 20:05:57 2013 (r331183) +++ head/devel/rcs57/Makefile Mon Oct 21 20:09:43 2013 (r331184) @@ -10,6 +10,10 @@ PKGNAMESUFFIX= 57 MAINTAINER= cy@FreeBSD.org COMMENT= Version control system (as was in FreeBSD prior to removal) +OPTIONS_DEFINE= FREEBSD +OPTIONS_DEFAULT= FREEBSD +FREEBSD_DESC= Apply FreeBSD patches + CONFLICTS= rcs-5.[89]* LICENSE= GPLv2 @@ -21,4 +25,22 @@ MAN1= ci.1 co.1 ident.1 merge.1 rcs.1 rc MAN5= rcsfile.5 NO_STAGE= yes -.include + +.include + +.if ${PORT_OPTIONS:MFREEBSD} +EXTRA_PATCHES+= ${FILESDIR}/freebsd-src-ident.c \ + ${FILESDIR}/freebsd-src-maketime.c \ + ${FILESDIR}/freebsd-src-rcsbase.h \ + ${FILESDIR}/freebsd-src-rcsedit.c \ + ${FILESDIR}/freebsd-src-rcsfnms.c \ + ${FILESDIR}/freebsd-src-rcskeep.c \ + ${FILESDIR}/freebsd-src-rcskeys.c \ + ${FILESDIR}/freebsd-src-rcsrev.c \ + ${FILESDIR}/freebsd-src-rcsutil.c \ + ${FILESDIR}/freebsd-src-rcsdiff.c \ + ${FILESDIR}/freebsd-src-rlog.c + +.endif + +.include Added: head/devel/rcs57/files/freebsd-src-ident.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rcs57/files/freebsd-src-ident.c Mon Oct 21 20:09:43 2013 (r331184) @@ -0,0 +1,11 @@ +--- src/ident.c ++++ freebsd/gnu/usr.bin/rcs/ident/ident.c +@@ -234,7 +233,7 @@ match(fp) /* group substring between t + if (c == EOF && feof(fp) | ferror(fp)) + return c; + switch (ctab[c]) { +- case LETTER: case Letter: ++ case LETTER: case Letter: case DIGIT: + *tp++ = c; + if (tp < line+sizeof(line)-4) + break; Added: head/devel/rcs57/files/freebsd-src-maketime.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rcs57/files/freebsd-src-maketime.c Mon Oct 21 20:09:43 2013 (r331184) @@ -0,0 +1,11 @@ +--- src/maketime.c ++++ freebsd/gnu/usr.bin/rcs/lib/maketime.c 1999-08-28 03:37:10.000000000 +0400 +@@ -335,7 +335,7 @@ main(argc, argv) int argc; char **argv; + time_t default_time = time((time_t *)0); + long default_zone = argv[1] ? atol(argv[1]) : 0; + char buf[1000]; +- while (gets(buf)) { ++ while (fgets(buf, 1000, stdin)) { + time_t t = str2time(buf, default_time, default_zone); + printf("%s", asctime(gmtime(&t))); + } Added: head/devel/rcs57/files/freebsd-src-rcsbase.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rcs57/files/freebsd-src-rcsbase.h Mon Oct 21 20:09:43 2013 (r331184) @@ -0,0 +1,38 @@ +--- src/rcsbase.h ++++ freebsd/gnu/usr.bin/rcs/lib/rcsbase.h 1999-08-28 03:37:10.000000000 +0400 +@@ -427,10 +426,12 @@ struct assoc { + #define REVISION "Revision" + #define SOURCE "Source" + #define STATE "State" +-#define keylength 8 /* max length of any of the above keywords */ ++#define CVSHEADER "CVSHeader" ++#define keylength 9 /* max length of any of the above keywords */ + + enum markers { Nomatch, Author, Date, Header, Id, +- Locker, Log, Name, RCSfile, Revision, Source, State }; ++ Locker, Log, Name, RCSfile, Revision, Source, State, CVSHeader, ++ LocalId }; + /* This must be in the same order as rcskeys.c's Keyword[] array. */ + + #define DELNUMFORM "\n\n%s\n%s\n" +@@ -501,6 +502,7 @@ RILE *rcsreadopen P((struct buf*,struct + char *bufenlarge P((struct buf*,char const**)); + char const *basefilename P((char const*)); + char const *getfullRCSname P((void)); ++char const *getfullCVSname P((void)); + char const *maketemp P((int)); + char const *rcssuffix P((char const*)); + int pairnames P((int,char**,RILE*(*)P((struct buf*,struct stat*,int)),int,int)); +@@ -531,8 +533,11 @@ extern struct buf prevauthor, prevdate, + int getoldkeys P((RILE*)); + + /* rcskeys */ +-extern char const *const Keyword[]; ++extern char const *Keyword[]; ++extern enum markers LocalIdMode; + enum markers trymatch P((char const*)); ++void setRCSLocalId(char const *); ++void setIncExc(char const *); + + /* rcslex */ + extern FILE *foutptr; Added: head/devel/rcs57/files/freebsd-src-rcsdiff.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rcs57/files/freebsd-src-rcsdiff.c Mon Oct 21 20:09:43 2013 (r331184) @@ -0,0 +1,11 @@ +--- src/rcsdiff.c ++++ freebsd/gnu/usr.bin/rcs/rcsdiff/rcsdiff.c 1999-08-28 03:37:10.000000000 +0400 +@@ -216,7 +215,7 @@ mainProg(rcsdiffId, "rcsdiff", "$Id: rcs + /* fall into */ + case 'C': case 'F': case 'I': case 'L': case 'W': + #if DIFF_L +- if (c == 'L' && ++file_labels == 2) ++ if (c == 'L' && file_labels++ == 2) + faterror("too many -L options"); + #endif + *dcp++ = c; Added: head/devel/rcs57/files/freebsd-src-rcsedit.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rcs57/files/freebsd-src-rcsedit.c Mon Oct 21 20:09:43 2013 (r331184) @@ -0,0 +1,49 @@ +--- src/rcsedit.c ++++ freebsd/gnu/usr.bin/rcs/lib/rcsedit.c +@@ -1050,12 +1049,17 @@ keyreplace(marker, delta, delimstuffed, + aputs(date2str(date,datebuf), out); + break; + case Id: ++ case LocalId: + case Header: +- escape_string(out, +- marker==Id || RCSvnum, + date2str(date, datebuf), +@@ -1503,6 +1507,9 @@ makedirtemp(isworkfile) + register size_t dl; + register struct buf *bn; + register char const *name = isworkfile ? workname : RCSname; ++# if has_mktemp ++ int fd; ++# endif + + dl = basefilename(name) - name; + bn = &dirtpname[newRCSdirtp_index + isworkfile]; +@@ -1521,10 +1528,12 @@ makedirtemp(isworkfile) + catchints(); + # if has_mktemp + VOID strcpy(tp, "XXXXXX"); +- if (!mktemp(np) || !*np) ++ fd = mkstemp(np); ++ if (fd < 0 || !*np) + faterror("can't make temporary pathname `%.*s_%cXXXXXX'", + (int)dl, name, '0'+isworkfile + ); ++ close(fd); + # else + /* + * Posix 1003.1-1990 has no reliable way Added: head/devel/rcs57/files/freebsd-src-rcsfnms.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rcs57/files/freebsd-src-rcsfnms.c Mon Oct 21 20:09:43 2013 (r331184) @@ -0,0 +1,74 @@ +--- src/rcsfnms.c ++++ freebsd/gnu/usr.bin/rcs/lib/rcsfnms.c +@@ -285,6 +284,9 @@ maketemp(n) + { + char *p; + char const *t = tpnames[n]; ++# if has_mktemp ++ int fd; ++# endif + + if (t) + return t; +@@ -296,10 +298,12 @@ maketemp(n) + size_t tplen = dir_useful_len(tp); + p = testalloc(tplen + 10); + VOID sprintf(p, "%.*s%cT%cXXXXXX", (int)tplen, tp, SLASH, '0'+n); +- if (!mktemp(p) || !*p) ++ fd = mkstemp(p); ++ if (fd < 0 || !*p) + faterror("can't make temporary pathname `%.*s%cT%cXXXXXX'", + (int)tplen, tp, SLASH, '0'+n + ); ++ close(fd); + # else + static char tpnamebuf[TEMPNAMES][L_tmpnam]; + p = tpnamebuf[n]; +@@ -868,6 +872,47 @@ getfullRCSname() + } + } + ++/* Derived from code from the XFree86 project */ ++ char const * ++getfullCVSname() ++/* Function: returns a pointer to the path name of the RCS file with the ++ * CVSROOT part stripped off, and with 'Attic/' stripped off (if present). ++ */ ++{ ++ ++#define ATTICDIR "/Attic" ++ ++ char const *namebuf = getfullRCSname(); ++ char *cvsroot = cgetenv("CVSROOT"); ++ int cvsrootlen; ++ char *c = NULL; ++ int alen = strlen(ATTICDIR); ++ ++ if ((c = strrchr(namebuf, '/')) != NULL) { ++ if (namebuf - c >= alen) { ++ if (!strncmp(c - alen, ATTICDIR, alen)) { ++ while(*c != '\0') { ++ *(c - alen) = *c; ++ c++; ++ } ++ *(c - alen) = '\0'; ++ } ++ } ++ } ++ ++ if (!cvsroot) ++ return(namebuf); ++ else ++ { ++ cvsrootlen = strlen(cvsroot); ++ if (!strncmp(namebuf, cvsroot, cvsrootlen) && ++ namebuf[cvsrootlen] == '/') ++ return(namebuf + cvsrootlen + 1); ++ else ++ return(namebuf); ++ } ++} ++ + static size_t + dir_useful_len(d) + char const *d; Added: head/devel/rcs57/files/freebsd-src-rcskeep.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rcs57/files/freebsd-src-rcskeep.c Mon Oct 21 20:09:43 2013 (r331184) @@ -0,0 +1,10 @@ +--- src/rcskeep.c ++++ freebsd/gnu/usr.bin/rcs/lib/rcskeep.c 1999-08-28 03:37:10.000000000 +0400 +@@ -192,6 +191,7 @@ getoldkeys(fp) + break; + case Header: + case Id: ++ case LocalId: + if (!( + getval(fp, (struct buf*)0, false) && + keeprev(fp) && Added: head/devel/rcs57/files/freebsd-src-rcskeys.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rcs57/files/freebsd-src-rcskeys.c Mon Oct 21 20:09:43 2013 (r331184) @@ -0,0 +1,114 @@ +--- src/rcskeys.c ++++ freebsd/gnu/usr.bin/rcs/lib/rcskeys.c +@@ -67,14 +66,22 @@ + libId(keysId, "$Id: rcskeys.c,v 5.4 1995/06/16 06:19:24 eggert Exp $") + + +-char const *const Keyword[] = { ++char const *Keyword[] = { + /* This must be in the same order as rcsbase.h's enum markers type. */ + 0, + AUTHOR, DATE, HEADER, IDH, +- LOCKER, LOG, NAME, RCSFILE, REVISION, SOURCE, STATE ++ LOCKER, LOG, NAME, RCSFILE, REVISION, SOURCE, STATE, CVSHEADER, ++ NULL + }; + +- ++/* Expand all keywords by default */ ++static int ExpandKeyword[] = { ++ false, ++ true, true, true, true, ++ true, true, true, true, true, true, true, true, ++ true ++}; ++enum markers LocalIdMode = Id; + + enum markers + trymatch(string) +@@ -87,8 +94,12 @@ trymatch(string) + register int j; + register char const *p, *s; + for (j = sizeof(Keyword)/sizeof(*Keyword); (--j); ) { ++ if (!ExpandKeyword[j]) ++ continue; + /* try next keyword */ + p = Keyword[j]; ++ if (p == NULL) ++ continue; + s = string; + while (*p++ == *s++) { + if (!*p) +@@ -104,3 +115,72 @@ trymatch(string) + return(Nomatch); + } + ++ void ++setIncExc(arg) ++ char const *arg; ++/* Sets up the ExpandKeyword table according to command-line flags */ ++{ ++ char *key; ++ char *copy, *next; ++ int include = 0, j; ++ ++ copy = strdup(arg); ++ next = copy; ++ switch (*next++) { ++ case 'e': ++ include = false; ++ break; ++ case 'i': ++ include = true; ++ break; ++ default: ++ free(copy); ++ return; ++ } ++ if (include) ++ for (j = sizeof(Keyword)/sizeof(*Keyword); (--j); ) ++ ExpandKeyword[j] = false; ++ key = strtok(next, ","); ++ while (key) { ++ for (j = sizeof(Keyword)/sizeof(*Keyword); (--j); ) { ++ if (Keyword[j] == NULL) ++ continue; ++ if (!strcmp(key, Keyword[j])) ++ ExpandKeyword[j] = include; ++ } ++ key = strtok(NULL, ","); ++ } ++ free(copy); ++ return; ++} ++ ++ void ++setRCSLocalId(string) ++ char const *string; ++/* function: sets local RCS id and RCSLOCALID envariable */ ++{ ++ static char local_id[keylength+1]; ++ char *copy, *next, *key; ++ int j; ++ ++ copy = strdup(string); ++ next = copy; ++ key = strtok(next, "="); ++ if (strlen(key) > keylength) ++ faterror("LocalId is too long"); ++ VOID strcpy(local_id, key); ++ Keyword[LocalId] = local_id; ++ ++ /* options? */ ++ while (key = strtok(NULL, ",")) { ++ if (!strcmp(key, Keyword[Id])) ++ LocalIdMode=Id; ++ else if (!strcmp(key, Keyword[Header])) ++ LocalIdMode=Header; ++ else if (!strcmp(key, Keyword[CVSHeader])) ++ LocalIdMode=CVSHeader; ++ else ++ error("Unknown LocalId mode"); ++ } ++ free(copy); ++} Added: head/devel/rcs57/files/freebsd-src-rcsrev.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rcs57/files/freebsd-src-rcsrev.c Mon Oct 21 20:09:43 2013 (r331184) @@ -0,0 +1,24 @@ +--- src/rcsrev.c ++++ freebsd/gnu/usr.bin/rcs/lib/rcsrev.c 1999-08-28 03:37:10.000000000 +0400 +@@ -883,17 +882,17 @@ int argc; char * argv[]; + /* all output goes to stderr, to have diagnostics and */ + /* errors in sequence. */ + aputs("\nEnter revision number or or '.': ",stderr); +- if (!gets(symrevno)) break; ++ if (!fgets(symrevno, 100, stdin)) break; + if (*symrevno == '.') break; + aprintf(stderr,"%s;\n",symrevno); + expandsym(symrevno,&numricrevno); + aprintf(stderr,"expanded number: %s; ",numricrevno.string); + aprintf(stderr,"Date: "); +- gets(date); aprintf(stderr,"%s; ",date); ++ fgets(date, 20, stdin); aprintf(stderr,"%s; ",date); + aprintf(stderr,"Author: "); +- gets(author); aprintf(stderr,"%s; ",author); ++ fgets(author, 20, stdin); aprintf(stderr,"%s; ",author); + aprintf(stderr,"State: "); +- gets(state); aprintf(stderr, "%s;\n", state); ++ fgets(state, 20, stdin); aprintf(stderr, "%s;\n", state); + target = genrevs(numricrevno.string, *date?date:(char *)0, *author?author:(char *)0, + *state?state:(char*)0, &gendeltas); + if (target) { Added: head/devel/rcs57/files/freebsd-src-rcsutil.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rcs57/files/freebsd-src-rcsutil.c Mon Oct 21 20:09:43 2013 (r331184) @@ -0,0 +1,18 @@ +--- src/rcsutil.c ++++ freebsd/gnu/usr.bin/rcs/lib/rcsutil.c 1999-08-28 03:37:10.000000000 +0400 +@@ -1231,8 +1230,15 @@ getRCSINIT(argc, argv, newargv) + char **argv, ***newargv; + { + register char *p, *q, **pp; ++ char const *ev; + size_t n; + ++ if ((ev = cgetenv("RCSLOCALID"))) ++ setRCSLocalId(ev); ++ ++ if ((ev = cgetenv("RCSINCEXC"))) ++ setIncExc(ev); ++ + if (!(q = cgetenv("RCSINIT"))) + *newargv = argv; + else { Added: head/devel/rcs57/files/freebsd-src-rlog.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/rcs57/files/freebsd-src-rlog.c Mon Oct 21 20:09:43 2013 (r331184) @@ -0,0 +1,58 @@ +--- src/rlog.c ++++ freebsd/gnu/usr.bin/rcs/rlog/rlog.c 1999-08-28 03:37:10.000000000 +0400 +@@ -222,7 +221,7 @@ + mainProg(rlogId, "rlog", "$Id: rlog.c,v 5.18 1995/06/16 06:19:24 eggert Exp $") + { + static char const cmdusage[] = +- "\nrlog usage: rlog -{bhLNRt} -ddates -l[lockers] -r[revs] -sstates -Vn -w[logins] -xsuff -zzone file ..."; ++ "\nrlog usage: rlog -{bhLNRt} -v[string] -ddates -l[lockers] -r[revs] -sstates -Vn -w[logins] -xsuff -zzone file ..."; + + register FILE *out; + char *a, **newargv; +@@ -239,9 +238,12 @@ mainProg(rlogId, "rlog", "$Id: rlog.c,v + int pre5; + int shownames; + int revno; ++ int versionlist; ++ char *vstring; + + descflag = selectflag = shownames = true; +- onlylockflag = onlyRCSflag = false; ++ versionlist = onlylockflag = onlyRCSflag = false; ++ vstring=0; + out = stdout; + suffixes = X_DEFAULT; + +@@ -318,6 +320,11 @@ mainProg(rlogId, "rlog", "$Id: rlog.c,v + setRCSversion(*argv); + break; + ++ case 'v': ++ versionlist = true; ++ vstring = a; ++ break; ++ + default: + unknown: + error("unknown option: %s%s", *argv, cmdusage); +@@ -371,6 +378,12 @@ mainProg(rlogId, "rlog", "$Id: rlog.c,v + if (onlylockflag && !Locks) + continue; + ++ if ( versionlist ) { ++ gettree(); ++ aprintf(out, "%s%s %s\n", vstring, workname, tiprev()); ++ continue; ++ } ++ + if ( onlyRCSflag ) { + aprintf(out, "%s\n", RCSname); + continue; +@@ -462,6 +475,7 @@ mainProg(rlogId, "rlog", "$Id: rlog.c,v + putrunk(); + putree(Head); + } ++ aputs("----------------------------\n", out); + aputs("=============================================================================\n",out); + } + Ofclose(out);