Date: Sun, 17 Jun 2018 09:49:49 -0600 From: Ian Lepore <ian@freebsd.org> To: Juli Mallett <juli@northcloak.com>, rgrimes@freebsd.org Cc: Eitan Adler <eadler@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r335270 - head/lib/liby Message-ID: <1529250589.20460.19.camel@freebsd.org> In-Reply-To: <CAGSiXYwzqt=LG=DRQu%2BjLvN-=7tB0TUwtXdszisoaczMYQvsWA@mail.gmail.com> References: <201806170315.w5H3FHOD058428@pdx.rh.CN85.dnsmgr.net> <201806171507.w5HF7gdT060646@pdx.rh.CN85.dnsmgr.net> <CAGSiXYwzqt=LG=DRQu%2BjLvN-=7tB0TUwtXdszisoaczMYQvsWA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 2018-06-17 at 08:26 -0700, Juli Mallett wrote: > On 17 June 2018 at 08:07, Rodney W. Grimes > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Author: eadler > > > > > > > > > > Date: Sat Jun 16 23:50:34 2018 > > > > > > > > > > New Revision: 335270 > > > > > > > > > > URL: https://svnweb.freebsd.org/changeset/base/335270 > > > > > > > > > > > > > > > > > > > > Log: > > > > > > > > > > liby: build with WARNS=6 > > > > > > > > > > > > > > > > > > > > Tested with amd64, arm64, i386, mips > > > > > > > > > > > > > > > > > > > > Added: > > > > > > > > > > head/lib/liby/yyerror.h (contents, props changed) > > > Just says added, not copied from some file, so VCS here does > > > nothing for saying where this file came from. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Modified: > > > > > > > > > > head/lib/liby/Makefile > > > > > > > > > > head/lib/liby/main.c > > > > > > > > > > head/lib/liby/yyerror.c > > > > > > > > > > > > > > > > > > > > Modified: head/lib/liby/Makefile > > > > > > > > > > ============================== > > ============================== > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ================== > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --- head/lib/liby/Makefile Sat Jun 16 23:49:22 2018 > > > > > > > (r335269) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > +++ head/lib/liby/Makefile Sat Jun 16 23:50:34 2018 > > > > > > > (r335270) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @@ -5,6 +5,4 @@ LIB= y > > > > > > > > > > SRCS= main.c yyerror.c > > > > > > > > > > NO_PIC= > > > > > > > > > > > > > > > > > > > > -WARNS?= 1 > > > > > > > > > > - > > > > > > > > > > .include > > > > > > > > > > > > > > > > > > > > Modified: head/lib/liby/main.c > > > > > > > > > > ============================== > > ============================== > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ================== > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --- head/lib/liby/main.c Sat Jun 16 23:49:22 2018 > > > > > > > (r335269) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > +++ head/lib/liby/main.c Sat Jun 16 23:50:34 2018 > > > > > > > (r335270) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @@ -32,16 +32,17 @@ > > > > > > > > > > #include > > > > > > > > > > __FBSDID("$FreeBSD$"); > > > > > > > > > > > > > > > > > > > > -#ifndef lint > > > > > > > > > > +#if defined(LIBC_SCCS) && !defined(lint) > > > > > > > > > > static char sccsid[] = "@(#)main.c 8.1 (Berkeley) > > 6/4/93"; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -#endif /* not lint */ > > > > > > > > > > +#endif /* LIBC_SCCS and not lint */ > > > > > > > > > > > > > > > > > > > > #include > > > > > > > > > > > > > > > > > > > > -int yyparse(void); > > > > > > > > > > +#include "yyerror.h" > > > > > > > > > > > > > > > > > > > > int > > > > > > > > > > main(void) > > > > > > > > > > { > > > > > > > > > > + > > > > > > > > > > exit(yyparse()); > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > Modified: head/lib/liby/yyerror.c > > > > > > > > > > ============================== > > ============================== > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ================== > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --- head/lib/liby/yyerror.c Sat Jun 16 23:49:22 2018 > > > > > > > (r335269) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > +++ head/lib/liby/yyerror.c Sat Jun 16 23:50:34 2018 > > > > > > > (r335270) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @@ -32,16 +32,18 @@ > > > > > > > > > > #include > > > > > > > > > > __FBSDID("$FreeBSD$"); > > > > > > > > > > > > > > > > > > > > -#ifndef lint > > > > > > > > > > +#if defined(LIBC_SCCS) && !defined(lint) > > > > > > > > > > static char sccsid[] = "@(#)yyerror.c 8.1 (Berkeley) > > > > > 6/4/93"; > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -#endif /* not lint */ > > > > > > > > > > +#endif /* LIBC_SCCS and not lint */ > > > > > > > > > > > > > > > > > > > > #include > > > > > > > > > > > > > > > > > > > > +#include "yyerror.h" > > > > > > > > > > + > > > > > > > > > > int > > > > > > > > > > -yyerror(msg) > > > > > > > > > > -char *msg; > > > > > > > > > > +yyerror(const char *msg) > > > > > > > > > > { > > > > > > > > > > - (void)fprintf(stderr, "%s\n", msg); > > > > > > > > > > + > > > > > > > > > > + fprintf(stderr, "%s\n", msg); > > > > > > > > > > return(0); > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > Added: head/lib/liby/yyerror.h > > > > > > > > > > ============================== > > ============================== > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ================== > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --- /dev/null 00:00:00 1970 (empty, because file is newly > > added) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > +++ head/lib/liby/yyerror.h Sat Jun 16 23:50:34 2018 > > > > > > > (r335270) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > @@ -0,0 +1,36 @@ > > > > > > > > > Where did this file come from???? > > > > > > > > I added a header file instead of keeping the prototypes in the > > .c > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > files. Is something wrong with that? > > > > > > > If you extracted part of a c file and placed it in a .h file, you > > > > > > > should add a > > > > > > > * from: pathname > > > > > > > comment to this yyerror.h > > > > > > > > > > > > > Rod, > > > > > > > > > > > > It's two prototypes. For functions that are extern. Including > > the UCB > > > > > > > > > > > > > > > > > > > > > > > > copyright isn't even necessary, but seems reasonable. > > > > > Actually including a 1990/1993 UCB copyright is -exactly- why > > > > > the from: line should be there. If he had assigned his own > > > > > copyright to this I wouldn't of batted an eye, but he didn't, > > > > > which means he copied it from someplace. I would like to have > > > > > that someplace clearly documented as has always historically > > > > > been done when copying parts of or whole files around the > > > > > BSD source tree. > > See style(9), specifically: > > After any copyright header, there is a blank line, and the $FreeBSD$ > > for > > non C/C++ language source files. Version control system ID tags > > should > > only exist once in a file (unlike in this one). Non-C/C++ source > > files > > follow the example above, while C/C++ source files follow the one > > below. > > All VCS (version control system) revision identification in files > > obtained from elsewhere should be maintained, including, where > > applicable, multiple IDs showing a file's history. In general, do not > > edit foreign IDs or their infrastructure. Unless otherwise wrapped > > (such > > as ``#if defined(LIBC_SCCS)''), enclose both in ``#if 0 ... #endif'' > > to > > hide any uncompilable bits and to keep the IDs out of object files. > > Only > > add ``From: '' in front of foreign VCS IDs if the file is renamed. > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > > > For this purpose the copyright has been copied from one file and placed > > into another file, and that qualifies as a "rename". All UCB copyrights > > should be trackable to a RCS/SCCSID. > > > > I am embarrassed that I had to actual go hunt for this, since it > > is a style(9) item it should be well known and used at all times, > > I should of known exactly where this text was. > > > Rod, this refers to doing things like this: > > /sys/libkern/ia64/bswap16.S: * from: NetBSD: htons.S,v 1.1 1996/04/17 > 22:36:54 cgd > > Saying that you should leave the $NetBSD$ stuff, and _only_ add from: in > front of it if the file has been renamed. (In practice, we violate this > constantly, and put from: in front of foreign VCS IDs frequently even where > the file has the same name.) > > Please reread the whole paragraph and not just the bit that says ``From:'' > > Thanks! > > Juli. > > > > > > If you know of places that we copied the UCB copyright into > > another file and did not maintain this VCS history chain I > > would very much like to know of them so that we might post > > fact correct this. > > > > Regards, > > Rod > > > > > > > > > > > > > > > > > > > > > > > > His commit message also lacked any details about this move > > > > > of code, it just said, build with WARNS=6. > > > > > > > > > > > > > > > > > > > > > > > No, people do not need to add "from:" notes when adding a header to > > > > > provide > > > > > > > > > > > > prototypes for extern functions. > > > > > They do if they infact copied a portion of another file... > > > > > > > > I don't think this has been a FreeBSD norm since at least the late > > '90s for > > > > > > > > > > > both trivial and nontrivial refactoring. We have good version control. > > > The version control says 0 about where this file came from, > > > the commit message should of. > > > > > > > > > > > If this is the expectation, I'd love it if you could find somewhere > > it's > > > > > > > > > > > written down, or if it's not, start an FCP to get it written down. It > > > > seems important for this to be codified if people should expect to get > > > > called out on a mailing list for not doing it. > > It is codified. > > > > > > > > So all things must be written now? I do not think that holds true > > > for most things. Perhaps this has died, but I would still like to > > > see this file marked as derived from to explain the attribution to > > > UCB, as that also is a bit abnormal to do without saying why your > > > attributing it to them. > > > > > > I do know that from: was written, someplace in one of the guides, > > > I shall strive to find it. > > Found. All this drama about "copying" one line of text and adding another to create a new file. The no-brainer fix is to add a proper new-file license and stop arguing about what flavor of copying and what rules might apply to that. And for something that might actually matter: nobody seems to have noticed that this new header file lacks the standard include guards (something which style(9) seems to be silent about). -- Ian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1529250589.20460.19.camel>