Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 17 Jun 2018 08:07:42 -0700 (PDT)
From:      "Rodney W. Grimes" <freebsd@pdx.rh.CN85.dnsmgr.net>
To:        rgrimes@freebsd.org
Cc:        Juli Mallett <juli@northcloak.com>, 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:  <201806171507.w5HF7gdT060646@pdx.rh.CN85.dnsmgr.net>
In-Reply-To: <201806170315.w5H3FHOD058428@pdx.rh.CN85.dnsmgr.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> > > > > > >> 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 <bsd.lib.mk>
> > > > > > >>
> > > > > > >> 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 <sys/cdefs.h>
> > > > > > >>  __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 <stdlib.h>
> > > > > > >>
> > > > > > >> -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 <sys/cdefs.h>
> > > > > > >>  __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 <stdio.h>
> > > > > > >>
> > > > > > >> +#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.

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.


-- 
Rod Grimes                                                 rgrimes@freebsd.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806171507.w5HF7gdT060646>