svn commit: r335270 - head/lib/liby
Ian Lepore
ian at freebsd.org
Sun Jun 17 15:50:00 UTC 2018
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
More information about the svn-src-head
mailing list