Skip site navigation (1)Skip section navigation (2)
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>