diff options
Diffstat (limited to 'usr/src/tools/scripts/nightly')
-rwxr-xr-x | usr/src/tools/scripts/nightly | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/usr/src/tools/scripts/nightly b/usr/src/tools/scripts/nightly index f6b536c924..760b549231 100755 --- a/usr/src/tools/scripts/nightly +++ b/usr/src/tools/scripts/nightly @@ -27,9 +27,9 @@ # Copyright 2012 Joshua M. Clulow <josh@sysmgr.org> # Copyright (c) 2017 by Delphix. All rights reserved. # Copyright 2020 Joyent, Inc. -# Copyright 2018 OmniOS Community Edition (OmniOSce) Association. # Copyright 2019 Peter Trible. # Copyright 2020 Oxide Computer Company +# Copyright 2020 OmniOS Community Edition (OmniOSce) Association. # # Based on the nightly script from the integration folks, # Mostly modified and owned by mike_s. @@ -509,6 +509,7 @@ NIGHTLY_OPTIONS variable in the <env_file> as follows: -F do _not_ do a non-DEBUG build -G gate keeper default group of options (-au) -I integration engineer default group of options (-ampu) + -L do not run pkglint -M do not run pmodes (safe file permission checker) -N do not run protocmp -R default group of options for building a release (-mp) @@ -539,6 +540,7 @@ D_FLAG=n F_FLAG=n f_FLAG=n i_FLAG=n; i_CMD_LINE_FLAG=n +L_FLAG=n M_FLAG=n m_FLAG=n N_FLAG=n @@ -718,7 +720,7 @@ check_closed_bins # NIGHTLY_OPTIONS=-${NIGHTLY_OPTIONS#-} OPTIND=1 -while getopts +ABCDdFfGIiMmNnpRrtUuwW FLAG $NIGHTLY_OPTIONS +while getopts +ABCDdFfGIiLMmNnpRrtUuwW FLAG $NIGHTLY_OPTIONS do case $FLAG in A ) A_FLAG=y @@ -741,6 +743,8 @@ do ;; i ) i_FLAG=y ;; + L ) L_FLAG=y + ;; M ) M_FLAG=y ;; m ) m_FLAG=y @@ -1974,17 +1978,17 @@ if [ "$CHECK_PATHS" = y -a "$N_FLAG" != y ]; then fi fi +abspkg= +for d in $abssrcdirs; do + if [ -d "$d/pkg" ]; then + abspkg="$abspkg $d" + fi +done + if [ "$M_FLAG" != "y" -a "$build_ok" = y ]; then echo "\n==== Impact on file permissions ====\n" \ >> $mail_msg_file - abspkg= - for d in $abssrcdirs; do - if [ -d "$d/pkg" ]; then - abspkg="$abspkg $d" - fi - done - if [ -n "$abspkg" ]; then for d in "$abspkg"; do ( cd $d/pkg ; $MAKE -e pmodes ) >> $mail_msg_file @@ -1992,6 +1996,22 @@ if [ "$M_FLAG" != "y" -a "$build_ok" = y ]; then fi fi +if [ "$L_FLAG" != "y" -a "$build_ok" = y ]; then + echo "\n==== Linting packages ====\n" | \ + tee -a $LOGFILE >> $mail_msg_file + + if [ -n "$abspkg" ]; then + for d in "$abspkg"; do + ( cd $d/pkg ; $MAKE -e pkglint ) | \ + tee -a $LOGFILE | \ + egrep -v 'Lint engine setup|Starting lint run' + done 2>&1 | tee $TMPDIR/pkglint_noise >> $mail_msg_file + if [[ -s $TMPDIR/pkglint_noise ]]; then + build_extras_ok=n + fi + fi +fi + if [ "$w_FLAG" = "y" -a "$build_ok" = "y" ]; then if [[ "$MULTI_PROTO" = no || "$D_FLAG" = y ]]; then do_wsdiff DEBUG $ROOT.prev $ROOT |