Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Nov 2017 16:02:24 -0700
From:      Warner Losh <imp@bsdimp.com>
To:        "Rodney W. Grimes" <rgrimes@freebsd.org>
Cc:        Warner Losh <imp@freebsd.org>, src-committers <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>,  "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r325954 - in head: . share/mk sys/conf usr.sbin/config
Message-ID:  <CANCZdfrrd9JKxN=ZSi17iK_D=rh5R66pkHH%2BmPmy7wENh90k6Q@mail.gmail.com>
In-Reply-To: <201711171831.vAHIVf3a062456@pdx.rh.CN85.dnsmgr.net>
References:  <201711171816.vAHIGkRZ045584@repo.freebsd.org> <201711171831.vAHIVf3a062456@pdx.rh.CN85.dnsmgr.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Kib@ posted to arch that we were removing it, nobody objected, we removed
it. If it was a working feature that might have a few users, that's one
thing. But I don't think make lint has actually worked in at least a decade.

When I try it today, I get dozens of warnings, and several syntax errors:

types.h(289): syntax error [249]
nvme.h(79): syntax error [249]
nvme.h(105): syntax error [249]
nvme.h(137): syntax error [249]
nvme.h(160): syntax error [249]
nvme.h(160): cannot recover from previous errors [224]

since it flags all c99 and newer usages as syntax errors. We've been using
c99 for the kernel since about 8.x, and in the base longer than that. xlint
hasn't been useful since we started doing this. The types.h change went in:
c217b5c12e71 (       mdf 2011-12-12 18:44:17 +0000 289)typedef _Bool bool;
which as far as I can make out was between 8.x being branched and 9.x being
branched. This feature has therefore been broken for 3 major releases
without any announcement, or even any bug reports coming in. Not exactly a
feature that has an audience that needs to be informed of anything... While
I generally agree one should try to follow proper deprecation process, this
has been de-facto removed from the source tree for at least 6 years, and
likely broken a lot longer than that. At most this deserves a one-liner in
the release notes. At most.

So is this about my forgetting to include a "Release Notes: Yes" line in
the commit, or something larger?

Warner

On Fri, Nov 17, 2017 at 11:31 AM, Rodney W. Grimes <
freebsd@pdx.rh.cn85.dnsmgr.net> wrote:

> TOP post,sorry....
>
>
> Someone needs to follow up with proper deprication procedures on lint.
>
>
> > Author: imp
> > Date: Fri Nov 17 18:16:46 2017
> > New Revision: 325954
> > URL: https://svnweb.freebsd.org/changeset/base/325954
> >
> > Log:
> >   Remove build system support for lint.
> >
> >   Differential Revision: https://reviews.freebsd.org/D13124
> >
> > Modified:
> >   head/Makefile
> >   head/share/mk/bsd.README
> >   head/share/mk/bsd.lib.mk
> >   head/share/mk/bsd.own.mk
> >   head/share/mk/bsd.prog.mk
> >   head/share/mk/bsd.subdir.mk
> >   head/share/mk/bsd.suffixes.mk
> >   head/share/mk/sys.mk
> >   head/sys/conf/kern.mk
> >   head/sys/conf/kern.post.mk
> >   head/sys/conf/kern.pre.mk
> >   head/sys/conf/kmod.mk
> >   head/usr.sbin/config/mkmakefile.c
> >
> > Modified: head/Makefile
> > ============================================================
> ==================
> > --- head/Makefile     Fri Nov 17 18:00:52 2017        (r325953)
> > +++ head/Makefile     Fri Nov 17 18:16:46 2017        (r325954)
> > @@ -129,7 +129,7 @@ TGTS=     all all-man buildenv buildenvvars
> buildkernel bu
> >       everything hier hierarchy install installcheck installkernel \
> >       installkernel.debug packagekernel packageworld \
> >       reinstallkernel reinstallkernel.debug \
> > -     installworld kernel-toolchain libraries lint maninstall \
> > +     installworld kernel-toolchain libraries maninstall \
> >       obj objlink showconfig tags toolchain update \
> >       _worldtmp _legacy _bootstrap-tools _cleanobj _obj \
> >       _build-tools _build-metadata _cross-tools _includes _libraries \
> >
> > Modified: head/share/mk/bsd.README
> > ============================================================
> ==================
> > --- head/share/mk/bsd.README  Fri Nov 17 18:00:52 2017        (r325953)
> > +++ head/share/mk/bsd.README  Fri Nov 17 18:16:46 2017        (r325954)
> > @@ -250,8 +250,6 @@ It has seven targets:
> >               beforeinstall and afterinstall may also be used to cause
> >               actions immediately before and after the install target
> >               is executed.
> > -     lint:
> > -             run lint on the source files
> >       tags:
> >               create a tags file for the source files.
> >
> > @@ -488,18 +486,17 @@ ${MOD}_oid.h    A header which programmatically
> describes
> >
> >  The include file <bsd.subdir.mk> contains the default targets for
> building
> >  subdirectories.  It has the same seven targets as <bsd.prog.mk>: all,
> clean,
> > -cleandir, depend, install, lint, and tags.  For all of the directories
> > -listed in the variable SUBDIRS, the specified directory will be visited
> > -and the target made.  There is also a default target which allows the
> > -command "make subdir" where subdir is any directory listed in the
> variable
> > -SUBDIRS.
> > +cleandir, depend, install, and tags.  For all of the directories listed
> in the
> > +variable SUBDIRS, the specified directory will be visited and the
> target made.
> > +There is also a default target which allows the command "make subdir"
> where
> > +subdir is any directory listed in the variable SUBDIRS.
> >
> >  =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> =-=-=-=-=-=-=
> >
> > -The include file <bsd.lib.mk> has support for building libraries.  It
> has
> > -the same seven targets as <bsd.prog.mk>: all, clean, cleandir, depend,
> > -install, lint, and tags.  It has a limited number of suffixes,
> consistent
> > -with the current needs of the BSD tree.
> > +The include file <bsd.lib.mk> has support for building libraries.  It
> has the
> > +same seven targets as <bsd.prog.mk>: all, clean, cleandir, depend,
> install, and
> > +tags.  It has a limited number of suffixes, consistent with the current
> needs of
> > +the BSD tree.
> >
> >  It sets/uses the following variables:
> >
> > @@ -530,8 +527,6 @@ LIB_CXX           The name of the library to build.
> It also cau
> >               will be built.  NO_PIC can be set to only build a static
> >               library.
> >
> > -LINTLIBDIR   Target directory for lint libraries.
> > -
> >  MAN          The manual pages to be installed. See bsd.man.mk for more
> >               details.
> >
> > @@ -588,8 +583,6 @@ It has seven targets:
> >                  targets beforeinstall and afterinstall may also be used
> >                  to cause actions immediately before and after the
> >                  install target is executed.
> > -     lint:
> > -             run lint on the source files.
> >       tags:
> >               create a tags file for the source files.
> >
> >
> > Modified: head/share/mk/bsd.lib.mk
> > ============================================================
> ==================
> > --- head/share/mk/bsd.lib.mk  Fri Nov 17 18:00:52 2017        (r325953)
> > +++ head/share/mk/bsd.lib.mk  Fri Nov 17 18:16:46 2017        (r325954)
> > @@ -285,18 +285,6 @@ lib${LIB_PRIVATE}${LIB}_pic.a: ${SOBJS}
> >       ${RANLIB} ${RANLIBFLAGS} ${.TARGET}
> >  .endif
> >
> > -.if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) &&
> !empty(LIB)
> > -LINTLIB=     llib-l${LIB}.ln
> > -_LIBS+=              ${LINTLIB}
> > -LINTOBJS+=   ${SRCS:M*.c:.c=.ln}
> > -CLEANFILES+= ${LINTOBJS}
> > -
> > -${LINTLIB}: ${LINTOBJS}
> > -     @${ECHO} building lint library ${.TARGET}
> > -     @rm -f ${.TARGET}
> > -     ${LINT} ${LINTLIBFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC}
> > -.endif
> > -
> >  .endif # !defined(INTERNALLIB)
> >
> >  .if defined(_SKIP_BUILD)
> > @@ -403,10 +391,6 @@ _libinstall:
> >       ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -o ${LIBOWN} -g
> ${LIBGRP} -m ${LIBMODE} \
> >           ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${_LIBDIR}/
> >  .endif
> > -.if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) &&
> !empty(LIB)
> > -     ${INSTALL} ${TAG_ARGS:D${TAG_ARGS},development} -o ${LIBOWN} -g
> ${LIBGRP} -m ${LIBMODE} \
> > -         ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR}/
> > -.endif
> >  .endif # !defined(INTERNALLIB)
> >
> >  .if !defined(LIBRARIES_ONLY)
> > @@ -423,11 +407,6 @@ realinstall: maninstall
> >  .ORDER: beforeinstall maninstall
> >  .endif
> >
> > -.endif
> > -
> > -.if !target(lint)
> > -lint: ${SRCS:M*.c}
> > -     ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC}
> >  .endif
> >
> >  .if ${MK_MAN} != "no" && !defined(LIBRARIES_ONLY)
> >
> > Modified: head/share/mk/bsd.own.mk
> > ============================================================
> ==================
> > --- head/share/mk/bsd.own.mk  Fri Nov 17 18:00:52 2017        (r325953)
> > +++ head/share/mk/bsd.own.mk  Fri Nov 17 18:16:46 2017        (r325954)
> > @@ -32,8 +32,6 @@
> >  #
> >  # LIBEXECDIR Base path for system daemons and utilities. [/usr/libexec]
> >  #
> > -# LINTLIBDIR Base path for lint libraries. [/usr/libdata/lint]
> > -#
> >  # SHLIBDIR   Base path for shared libraries. [${LIBDIR}]
> >  #
> >  # LIBOWN     Library owner. [${BINOWN}]
> > @@ -162,7 +160,6 @@ LIBDIR?=  ${LIBDIR_BASE}
> >  LIBCOMPATDIR?=       /usr/lib/compat
> >  LIBDATADIR?= /usr/libdata
> >  LIBEXECDIR?= /usr/libexec
> > -LINTLIBDIR?= /usr/libdata/lint
> >  SHLIBDIR?=   ${LIBDIR}
> >  LIBOWN?=     ${BINOWN}
> >  LIBGRP?=     ${BINGRP}
> >
> > Modified: head/share/mk/bsd.prog.mk
> > ============================================================
> ==================
> > --- head/share/mk/bsd.prog.mk Fri Nov 17 18:00:52 2017        (r325953)
> > +++ head/share/mk/bsd.prog.mk Fri Nov 17 18:16:46 2017        (r325954)
> > @@ -294,13 +294,6 @@ realinstall: maninstall
> >
> >  .endif       # !target(install)
> >
> > -.if !target(lint)
> > -lint: ${SRCS:M*.c}
> > -.if defined(PROG)
> > -     ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC}
> > -.endif
> > -.endif
> > -
> >  .if ${MK_MAN} != "no"
> >  .include <bsd.man.mk>
> >  .endif
> >
> > Modified: head/share/mk/bsd.subdir.mk
> > ============================================================
> ==================
> > --- head/share/mk/bsd.subdir.mk       Fri Nov 17 18:00:52 2017
> (r325953)
> > +++ head/share/mk/bsd.subdir.mk       Fri Nov 17 18:16:46 2017
> (r325954)
> > @@ -46,7 +46,7 @@ SUBDIR_TARGETS+= \
> >               all all-man analyze buildconfig buildfiles buildincludes \
> >               checkdpadd clean cleandepend cleandir cleanilinks \
> >               cleanobj depend distribute files includes installconfig \
> > -             installfiles installincludes print-dir realinstall lint \
> > +             installfiles installincludes print-dir realinstall \
> >               maninstall manlint ${_obj} objlink tags \
> >
> >  # Described above.
> >
> > Modified: head/share/mk/bsd.suffixes.mk
> > ============================================================
> ==================
> > --- head/share/mk/bsd.suffixes.mk     Fri Nov 17 18:00:52 2017
> (r325953)
> > +++ head/share/mk/bsd.suffixes.mk     Fri Nov 17 18:16:46 2017
> (r325954)
> > @@ -4,14 +4,6 @@
> >       cp -f ${.IMPSRC} ${.TARGET}
> >       chmod a+x ${.TARGET}
> >
> > -.c.ln:
> > -     ${LINT} ${LINTOBJFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC} || \
> > -         touch ${.TARGET}
> > -
> > -.cc.ln .C.ln .cpp.ln .cxx.ln:
> > -     ${LINT} ${LINTOBJFLAGS} ${CXXFLAGS:M-[DIU]*} ${.IMPSRC} || \
> > -         touch ${.TARGET}
> > -
> >  .c:
> >       ${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
> >       ${CTFCONVERT_CMD}
> >
> > Modified: head/share/mk/sys.mk
> > ============================================================
> ==================
> > --- head/share/mk/sys.mk      Fri Nov 17 18:00:52 2017        (r325953)
> > +++ head/share/mk/sys.mk      Fri Nov 17 18:16:46 2017        (r325954)
> > @@ -142,7 +142,7 @@ NO_META_IGNORE_HOST_HEADERS=      1
> >  .if defined(%POSIX)
> >  .SUFFIXES:   .o .c .y .l .a .sh .f
> >  .else
> > -.SUFFIXES:   .out .a .ln .o .bco .llo .c .cc .cpp .cxx .C .m .F .f .e
> .r .y .l .S .asm .s .cl .p .h .sh
> > +.SUFFIXES:   .out .a .o .bco .llo .c .cc .cpp .cxx .C .m .F .f .e .r .y
> .l .S .asm .s .cl .p .h .sh
> >  .endif
> >
> >  AR           ?=      ar
> > @@ -244,13 +244,6 @@ LFLAGS           ?=
> >  LD           ?=      ld
> >  LDFLAGS              ?=
> >  _LDFLAGS     =       ${LDFLAGS:S/-Wl,//g:N-mabi=*:N-fuse-ld=*}
> > -
> > -LINT         ?=      lint
> > -LINTFLAGS    ?=      -cghapbx
> > -LINTKERNFLAGS        ?=      ${LINTFLAGS}
> > -LINTOBJFLAGS ?=      -cghapbxu -i
> > -LINTOBJKERNFLAGS?=   ${LINTOBJFLAGS}
> > -LINTLIBFLAGS ?=      -cghapbxu -C ${LIB}
> >
> >  MAKE         ?=      make
> >
> >
> > Modified: head/sys/conf/kern.mk
> > ============================================================
> ==================
> > --- head/sys/conf/kern.mk     Fri Nov 17 18:00:52 2017        (r325953)
> > +++ head/sys/conf/kern.mk     Fri Nov 17 18:16:46 2017        (r325954)
> > @@ -228,7 +228,7 @@ PHONY_NOTMAIN = afterdepend afterinstall all
> beforedep
> >               beforelinking build build-tools buildfiles buildincludes \
> >               checkdpadd clean cleandepend cleandir cleanobj configure \
> >               depend distclean distribute exe \
> > -             html includes install installfiles installincludes lint \
> > +             html includes install installfiles installincludes \
> >               obj objlink objs objwarn \
> >               realinstall regress \
> >               tags whereobj
> >
> > Modified: head/sys/conf/kern.post.mk
> > ============================================================
> ==================
> > --- head/sys/conf/kern.post.mk        Fri Nov 17 18:00:52 2017
> (r325953)
> > +++ head/sys/conf/kern.post.mk        Fri Nov 17 18:16:46 2017
> (r325954)
> > @@ -153,7 +153,6 @@ ${FULLKERNEL}: ${SYSTEM_DEP} vers.o
> >
> >  OBJS_DEPEND_GUESS+=  assym.s vnode_if.h ${BEFORE_DEPEND:M*.h} \
> >                       ${MFILES:T:S/.m$/.h/}
> > -LNFILES=     ${CFILES:T:S/.c$/.ln/}
> >
> >  .for mfile in ${MFILES}
> >  # XXX the low quality .m.o rules gnerated by config are normally used
> > @@ -167,15 +166,11 @@ ${mfile:T:S/.m$/.h/}: ${mfile}
> >  kernel-clean:
> >       rm -f *.o *.so *.pico *.ko *.s eddep errs \
> >           ${FULLKERNEL} ${KERNEL_KO} ${KERNEL_KO}.debug \
> > -         linterrs tags vers.c \
> > +         tags vers.c \
> >           vnode_if.c vnode_if.h vnode_if_newproto.h vnode_if_typedef.h \
> >           ${MFILES:T:S/.m$/.c/} ${MFILES:T:S/.m$/.h/} \
> >           ${CLEAN}
> >
> > -lint: ${LNFILES}
> > -     ${LINT} ${LINTKERNFLAGS} ${CFLAGS:M-[DILU]*} ${.ALLSRC} 2>&1 | \
> > -         tee -a linterrs
> > -
> >  # This is a hack.  BFD "optimizes" away dynamic mode if there are no
> >  # dynamic references.  We could probably do a '-Bforcedynamic' mode like
> >  # in the a.out ld.  For now, this works.
> > @@ -364,9 +359,6 @@ kernel-reinstall:
> >  config.o env.o hints.o vers.o vnode_if.o:
> >       ${NORMAL_C}
> >       ${NORMAL_CTFCONVERT}
> > -
> > -config.ln env.ln hints.ln vers.ln vnode_if.ln:
> > -     ${NORMAL_LINT}
> >
> >  .if ${MK_REPRODUCIBLE_BUILD} != "no"
> >  REPRO_FLAG="-r"
> >
> > Modified: head/sys/conf/kern.pre.mk
> > ============================================================
> ==================
> > --- head/sys/conf/kern.pre.mk Fri Nov 17 18:00:52 2017        (r325953)
> > +++ head/sys/conf/kern.pre.mk Fri Nov 17 18:16:46 2017        (r325954)
> > @@ -46,7 +46,6 @@ M=          ${MACHINE}
> >
> >  AWK?=                awk
> >  CP?=         cp
> > -LINT?=               lint
> >  NM?=         nm
> >  OBJCOPY?=    objcopy
> >  SIZE?=               size
> > @@ -121,9 +120,6 @@ CFLAGS+=  ${CONF_CFLAGS}
> >  LDFLAGS+=    -Wl,--build-id=sha1
> >  .endif
> >
> > -# Optional linting. This can be overridden in /etc/make.conf.
> > -LINTFLAGS=   ${LINTOBJKERNFLAGS}
> > -
> >  NORMAL_C= ${CC} -c ${CFLAGS} ${WERROR} ${PROF} ${.IMPSRC}
> >  NORMAL_S= ${CC:N${CCACHE_BIN}} -c ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}
> >  PROFILE_C= ${CC} -c ${CFLAGS} ${WERROR} ${.IMPSRC}
> > @@ -175,8 +171,6 @@ NORMAL_CTFCONVERT=
> >  .else
> >  NORMAL_CTFCONVERT=   @:
> >  .endif
> > -
> > -NORMAL_LINT= ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC}
> >
> >  # Linux Kernel Programming Interface C-flags
> >  LINUXKPI_INCLUDES=   -I$S/compat/linuxkpi/common/include
> >
> > Modified: head/sys/conf/kmod.mk
> > ============================================================
> ==================
> > --- head/sys/conf/kmod.mk     Fri Nov 17 18:00:52 2017        (r325953)
> > +++ head/sys/conf/kmod.mk     Fri Nov 17 18:16:46 2017        (r325954)
> > @@ -469,9 +469,6 @@ genassym.o: ${SRCS:Mopt_*.h}
> >           ${SYSDIR}/${MACHINE}/${MACHINE}/genassym.c
> >  .endif
> >
> > -lint: ${SRCS}
> > -     ${LINT} ${LINTKERNFLAGS} ${CFLAGS:M-[DILU]*} ${.ALLSRC:M*.c}
> > -
> >  .if defined(KERNBUILDDIR)
> >  ${OBJS}: opt_global.h
> >  .endif
> >
> > Modified: head/usr.sbin/config/mkmakefile.c
> > ============================================================
> ==================
> > --- head/usr.sbin/config/mkmakefile.c Fri Nov 17 18:00:52 2017
> (r325953)
> > +++ head/usr.sbin/config/mkmakefile.c Fri Nov 17 18:16:46 2017
> (r325954)
> > @@ -690,18 +690,11 @@ do_rules(FILE *f)
> >                               continue;
> >                       }
> >                       if (ftp->f_depends) {
> > -                             fprintf(f, "%s%sln: $S/%s%c %s\n",
> > -                                     ftp->f_objprefix, tail(np), np,
> och,
> > -                                     ftp->f_depends);
> > -                             fprintf(f, "\t${NORMAL_LINT}\n\n");
> >                               fprintf(f, "%s%so: $S/%s%c %s\n",
> >                                       ftp->f_objprefix, tail(np), np,
> och,
> >                                       ftp->f_depends);
> >                       }
> >                       else {
> > -                             fprintf(f, "%s%sln: $S/%s%c\n",
> > -                                     ftp->f_objprefix, tail(np), np,
> och);
> > -                             fprintf(f, "\t${NORMAL_LINT}\n\n");
> >                               fprintf(f, "%s%so: $S/%s%c\n",
> >                                       ftp->f_objprefix, tail(np), np,
> och);
> >                       }
> >
> >
>
> --
> Rod Grimes
> rgrimes@freebsd.org
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfrrd9JKxN=ZSi17iK_D=rh5R66pkHH%2BmPmy7wENh90k6Q>