From owner-svn-src-all@freebsd.org Sun Jun 17 15:49:59 2018 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AB1931023372 for ; Sun, 17 Jun 2018 15:49:59 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from pmta2.delivery6.ore.mailhop.org (pmta2.delivery6.ore.mailhop.org [54.200.129.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2A7EE72C7D for ; Sun, 17 Jun 2018 15:49:59 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-RoutePath: aGlwcGll X-MHO-User: 114a9dba-7246-11e8-b829-b3adae557cda X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [67.177.211.60]) by outbound2.ore.mailhop.org (Halon) with ESMTPSA id 114a9dba-7246-11e8-b829-b3adae557cda; Sun, 17 Jun 2018 15:49:50 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id w5HFnnr5072461; Sun, 17 Jun 2018 09:49:49 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <1529250589.20460.19.camel@freebsd.org> Subject: Re: svn commit: r335270 - head/lib/liby From: Ian Lepore To: Juli Mallett , rgrimes@freebsd.org Cc: Eitan Adler , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Sun, 17 Jun 2018 09:49:49 -0600 In-Reply-To: References: <201806170315.w5H3FHOD058428@pdx.rh.CN85.dnsmgr.net> <201806171507.w5HF7gdT060646@pdx.rh.CN85.dnsmgr.net> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.18.5.1 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Jun 2018 15:49:59 -0000 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