[dpdk-dev] [PATCH v5] devtools: add new SPDX license compliance checker

Stephen Hemminger stephen at networkplumber.org
Fri Jul 31 01:41:51 CEST 2020


On Fri, 31 Jul 2020 00:06:23 +0200
Thomas Monjalon <thomas at monjalon.net> wrote:

> 15/07/2020 01:21, Stephen Hemminger:
> > Simple script to look for drivers and scripts that
> > are missing requires SPDX header.
> > 
> > Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>  
> [...]
> > +#! /bin/sh
> > +# SPDX-License-Identifier: BSD-3-Clause
> > +# Copyright 2020 Microsoft Corporation
> > +#
> > +# Produce a list of files with incorrect license tags
> > +
> > +errors=0
> > +warnings=0
> > +quiet=false
> > +verbose=false
> > +
> > +print_usage () {
> > +    echo "usage: $(basename $0) [-q] [-v]"
> > +    exit 1
> > +}
> > +
> > +check_spdx() {
> > +    if  $verbose;  then
> > +	echo "Files without SPDX License"
> > +	echo "--------------------------"
> > +    fi
> > +    git grep -L SPDX-License-Identifier -- \
> > +	':^.git*' ':^.ci/*' ':^.travis.yml' \
> > +	':^README' ':^MAINTAINERS' ':^VERSION' ':^ABI_VERSION' \
> > +	':^*/Kbuild' ':^*/README' \
> > +	':^license/' ':^config/' ':^buildtools/' \
> > +	':^*.cocci' ':^*.abignore' \
> > +	':^*.def' ':^*.map' ':^*.ini' ':^*.data' ':^*.cfg' ':^*.txt' \
> > +	':^*.svg' ':^*.png'\  
> 
> I don't agree with this list of files.
> But I guess we can start with that and be more strict in future.
> 
> > +	> $tmpfile
> > +
> > +    errors=$(wc -l < $tmpfile)
> > +    $quiet || cat $tmpfile
> > +}
> > +
> > +check_boilerplate() {
> > +    if $verbose ; then
> > +	echo
> > +	echo "Files with redundant license text"
> > +	echo "---------------------------------"
> > +    fi
> > +
> > +    git grep -l Redistribution -- \
> > +	':^license/' ':^/devtools/check-spdx-tag.sh' > $tmpfile
> > +
> > +    warnings=$(wc -l <$tmpfile)
> > +    $quiet || cat $tmpfile
> > +}
> > +
> > +while getopts qvh ARG ; do
> > +	case $ARG in
> > +		q ) quiet=true ;;
> > +		v ) verbose=true ;;
> > +		h ) print_usage ; exit 0 ;;
> > +		? ) print_usage ; exit 1 ;;
> > +	esac
> > +done
> > +shift $(($OPTIND - 1))
> > +
> > +tmpfile=$(mktemp)  
> 
> Should be mktemp -t dpdk.checkspdx.XXXXXX
> to keep namespace of our temp files. Will fix.
> 
> > +trap 'rm -f -- "$tmpfile"' INT TERM HUP EXIT  
> 
> Why catching HUP signal?

General practice to have a script cleanup if user logs out.
Back in the old days, connections were lost sometimes :-)_




More information about the dev mailing list