diff options
author | John Levon <john.levon@joyent.com> | 2018-09-03 11:19:04 +0000 |
---|---|---|
committer | Richard Lowe <richlowe@richlowe.net> | 2018-09-26 16:58:38 +0000 |
commit | eabe844ad2e8e98f99faa0fad638b77d3eecc309 (patch) | |
tree | 36018e07f6cb5e4df7ed89abb77c979f4647f481 | |
parent | 1f1540205fa6366266184180654434272c425ac2 (diff) | |
download | illumos-joyent-eabe844ad2e8e98f99faa0fad638b77d3eecc309.tar.gz |
9803 pbchk could use a -c option
9825 pbchk -b option should be -p
Reviewed by: Toomas Soome <tsoome@me.com>
Approved by: Richard Lowe <richlowe@richlowe.net>
-rw-r--r-- | usr/src/tools/scripts/Install.1onbld | 3 | ||||
-rw-r--r-- | usr/src/tools/scripts/Makefile | 16 | ||||
-rw-r--r-- | usr/src/tools/scripts/git-pbchk.1onbld | 83 | ||||
-rw-r--r-- | usr/src/tools/scripts/git-pbchk.py | 29 |
4 files changed, 70 insertions, 61 deletions
diff --git a/usr/src/tools/scripts/Install.1onbld b/usr/src/tools/scripts/Install.1onbld index f560091427..b2ce79c464 100644 --- a/usr/src/tools/scripts/Install.1onbld +++ b/usr/src/tools/scripts/Install.1onbld @@ -21,6 +21,8 @@ .\" .\" CDDL HEADER END .\" +.\" Copyright 2018 Joyent, Inc. +.\" .TH INSTALL 1ONBLD "Jan 14, 2010" .SH NAME Install \- install a kernel from an ON workspace @@ -285,7 +287,6 @@ In order to use the most convenient form of .BR Install " (``" "Install -t machine:/" "'')," you will need to do the following on the target machine: .LP -.br .nf (1) add your machine name to the /etc/hosts.equiv file .fi diff --git a/usr/src/tools/scripts/Makefile b/usr/src/tools/scripts/Makefile index 3acb27d1a4..1ec73ce144 100644 --- a/usr/src/tools/scripts/Makefile +++ b/usr/src/tools/scripts/Makefile @@ -22,6 +22,8 @@ # Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. # # Copyright 2010, Richard Lowe +# +# Copyright 2018 Joyent, Inc. SHELL=/usr/bin/ksh93 @@ -114,9 +116,6 @@ EXCEPTFILES= \ CLEANFILES = $(SHFILES) $(PERLFILES) $(PYFILES) bldenv.1onbld onu.sh -onu.sh: onu.sh.in - $(SED) -e "s:@PYTHON_VERSION@:$(PYTHON_VERSION):g" < onu.sh.in > $@ - include ../Makefile.tools ROOTONBLDSCRIPTLINKS = $(SCRIPTLINKS:%=$(ROOTONBLDBIN)/%) @@ -133,6 +132,9 @@ $(ROOTONBLDMAN1ONBLDFILES) := FILEMODE= 644 all: $(SHFILES) $(PERLFILES) $(PERLMODULES) $(PYFILES) \ $(MAN1ONBLDFILES) $(MAKEFILES) +onu.sh: onu.sh.in + $(SED) -e "s:@PYTHON_VERSION@:$(PYTHON_VERSION):g" < onu.sh.in > $@ + $(ROOTONBLDBIN)/git-nits: $(RM) $(ROOTONBLDBIN)/git-nits $(SYMLINK) git-pbchk $(ROOTONBLDBIN)/git-nits @@ -163,7 +165,8 @@ bldenv.1onbld: bldenv $(RM) "$@" (set +o errexit ; ksh93 $? --nroff ; true) 2>&1 | \ sed -e 's/\.DS/.nf/g;s/\.DE/.fi/' \ - -e 's/\.TH BLDENV 1/.TH BLDENV 1ONBLD/' \ + -e 's/\.TH BLDENV 1/.TH BLDENV 1ONBLD "September 4, 2018"/' \ + -e 's/.OP \([a-z]\) - flag -/.OP \\-\1/g' \ -e 's/(1)/(1ONBLD)/' > "$@" nightly: nightly.sh stdenv.sh @@ -171,5 +174,10 @@ nightly: nightly.sh stdenv.sh sed -e '/# STDENV_START/ r stdenv.sh' nightly.sh > nightly $(CHMOD) +x "$@" +# +# Not run by default: bootstrap... +check: + $(ROOTONBLDBINMACH)/mandoc -Tlint -Wwarning $(MAN1ONBLDFILES) + include ../Makefile.targ diff --git a/usr/src/tools/scripts/git-pbchk.1onbld b/usr/src/tools/scripts/git-pbchk.1onbld index 1a05b5b84f..5876caef63 100644 --- a/usr/src/tools/scripts/git-pbchk.1onbld +++ b/usr/src/tools/scripts/git-pbchk.1onbld @@ -12,85 +12,72 @@ .\" .\" Copyright 2011 Richard Lowe. .\" Copyright 2015 Elysium Digital, L.L.C. +.\" Copyright 2018 Joyent, Inc. .\" -.TH "GIT\-PBCHK" "1ONBLD" "April 23, 2015" "" "" +.TH "GIT\-PBCHK" "1ONBLD" "September 4, 2018" "" "" .SH "NAME" \fBgit\-pbchk\fR \- nits and pre\-putback checks for git .SH "SYNOPSIS" -git\-pbchk [\-b \fIbranch\fR] +git\-pbchk [\-c \fIcheck\fR] [\-p \fIbranch\fR] [file...] .P -git\-nits [\-b \fIbranch\fR] +git\-nits [\-c \fIcheck\fR] [\-p \fIbranch\fR] [file...] +.SH "OPTIONS" + +.TP +\fB\-c check\fR: +.IP +Run the specific \fIcheck\fR, as named below. +In this mode, individual files can be provided to check. +.TP +\fB\-p branch\fR: +.IP +Compare the current workspace to the parent \fIbranch\fR for the purposes of generating file and comment lists\. +.IP +If this option is not specified an attempt is made to determine this automatically, if the git branch configuration contains this information\. +.IP +If no branch is specified and none can be determined automatically \fBorigin/master\fR is used\. .SH "DESCRIPTION" Check your workspace for common nits and putback\-ending mistakes, a simple set of checks are run over various parts of your workspace and errors encountered are reported, all of which should, generally, be fixed\. - .TP -Comment format +Comment format [comchk] Check that putback comments follow the prescribed format (only run for pbchk) - .TP -Copyrights +Copyrights [copyright] Check that each source file contains a copyright notice for the current year\. You don't need to fix this if you, the potential new copyright holder, chooses not to - .TP -C style +C style [cstyle] Check that C source files conform to the Illumos C style rules - .TP -Header check +Header check [hdrchk] Check that C header files conform to the Illumos header style rules (in addition to the general C rules) - .TP -Java style +Java style [jstyle] Check that Java source files conform to the Illumos Java style rules (which differ from the traditionally recommended Java style) - .TP -SCCS Keywords +SCCS Keywords [keywords] Check that no source files contain unexpanded SCCS keywords\. It is possible that this check may false positive on certain inputs\. It is generally obvious when this is the case\. - .IP This check does not check for expanded SCCS keywords, though the common \'ident\'\-style lines should be removed regardless of whether they are expanded\. - .TP -Mapfile check +Man page check [manlint] +Check for problems with man pages. +.TP +Mapfile check [mapfilechk] Check that linker mapfiles contain a comment directing anyone editing to read the directions in \fBusr/lib/README\.mapfiles\fR\. - -.SH "OPTIONS" - .TP -\fB\-b branch\fR: - -.IP -Compare the current workspace to /branch/ for the purposes of generating file and comment lists\. - -.IP -If this option is not specified an attempt is made to determine this automatically, if the git branch configuration contains this information\. - -.IP -If no branch is specified and none can be determined automatically \fBorigin/master\fR is used\. - +Whitespace check [wscheck] +Check for whitespace issues such as mixed tabs/spaces in source files. .SH "FILES" -\fBgit nits\fR and \fBgit pbchk\fR support NOT files of the form used by Cadmium with Mercurial\. These are looked for in \fB$CODEMGR_WS/\.git/\fR and in \fB$CODEMGR_WS/exception_lists/\fR as normal\. The files are named after the check from which they exclude files\. - -.IP "\(bu" 4 -\fBcopyright\.NOT\fR: exclude files listed from copyright checking - -.IP "\(bu" 4 -\fBcstyle\.NOT\fR: exclude files from the C style check - -.IP "\(bu" 4 -\fBhdrchk\.NOT\fR: exclude files from the C header style check - -.IP "\(bu" 4 -\fBkeywords\.NOT\fR: exclude files from the SCCS keywords check - -.IP "\(bu" 4 -\fBmapfilechk\.NOT\fR: exclude files from the linker mapfile check +Exception lists can be used to exclude certain files from checking, named after +the specific check. +They can be found in \fB$CODEMGR_WS/exception_lists/\fR, or optionally under +\fB$CODEMGR_WS/\.git/\fR, where they must be suffixed \fB.NOT\fR. .IP "" 0 diff --git a/usr/src/tools/scripts/git-pbchk.py b/usr/src/tools/scripts/git-pbchk.py index 4a3533156d..2a05473dae 100644 --- a/usr/src/tools/scripts/git-pbchk.py +++ b/usr/src/tools/scripts/git-pbchk.py @@ -18,9 +18,9 @@ # Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. # Copyright 2008, 2012 Richard Lowe # Copyright 2014 Garrett D'Amore <garrett@damore.org> -# Copyright (c) 2014, Joyent, Inc. # Copyright (c) 2015, 2016 by Delphix. All rights reserved. # Copyright 2016 Nexenta Systems, Inc. +# Copyright 2018 Joyent, Inc. # import getopt @@ -371,29 +371,42 @@ def pbchk(root, parent, paths): def main(cmd, args): parent_branch = None + checkname = None try: - opts, args = getopt.getopt(args, 'b:') + opts, args = getopt.getopt(args, 'c:p:') except getopt.GetoptError, e: sys.stderr.write(str(e) + '\n') - sys.stderr.write("Usage: %s [-b branch] [path...]\n" % cmd) + sys.stderr.write("Usage: %s [-c check] [-p branch] [path...]\n" % cmd) sys.exit(1) for opt, arg in opts: + # backwards compatibility if opt == '-b': parent_branch = arg + elif opt == '-c': + checkname = arg + elif opt == '-p': + parent_branch = arg if not parent_branch: parent_branch = git_parent_branch(git_branch()) - func = nits - if cmd == 'git-pbchk': - func = pbchk + if checkname is None: + if cmd == 'git-pbchk': + checkname= 'pbchk' + else: + checkname = 'nits' + + if checkname == 'pbchk': if args: sys.stderr.write("only complete workspaces may be pbchk'd\n"); sys.exit(1) - - func(git_root(), parent_branch, args) + pbchk(git_root(), parent_branch, None) + elif checkname == 'nits': + nits(git_root(), parent_branch, args) + else: + run_checks(git_root(), parent_branch, [eval(checkname)], args) if __name__ == '__main__': try: |