Add has-spdx-header.sh script
Add a script to detect if a file has a SPDX header and what the advertised license is. * relicensing-scripts/has-spdx-header.sh: New script. Signed-off-by: Benjamin De Kosnik <bkoz@gnu.org> Signed-off-by: Ben Woodard <woodard@redhat.com> Signed-off-by: Chenxiong Qi <cqi@redhat.com> Signed-off-by: Dodji Seketeli <dodji@redhat.com> Signed-off-by: Giuliano Procida <gprocida@google.com> Signed-off-by: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jessica Yu <jeyu@kernel.org> Signed-off-by: Jonathan Wakely <jwakely@redhat.com> Signed-off-by: Mark Wielaard <mark@klomp.org> Signed-off-by: Matthias Klose <doko@ubuntu.com> Signed-off-by: Matthias Maennich <maennich@google.com> Signed-off-by: Ondrej Oprala <ondrej.oprala@gmail.com> Signed-off-by: Roland McGrath <roland@hack.frob.com> Signed-off-by: Sinny Kumari <ksinny@gmail.com> Signed-off-by: Slava Barinov <v.barinov@samsung.com>
This commit is contained in:
parent
be6bf58308
commit
418ea85baf
|
@ -0,0 +1,105 @@
|
|||
#!/bin/sh
|
||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
# Author: Dodji Seketeli <dodji@redhat.com>
|
||||
|
||||
file=
|
||||
prog=$0
|
||||
display_file_name=
|
||||
be_quiet=
|
||||
show_no_spdx=
|
||||
|
||||
display_usage()
|
||||
{
|
||||
echo "$prog: [options] file"
|
||||
echo " where options can be:"
|
||||
echo " -h|--help display this help"
|
||||
echo " -f|--file prefix output with file name"
|
||||
echo " -q|--quiet emit no output if no license was found"
|
||||
echo " --show-no-spdx show file name if it has no spdx header"
|
||||
}
|
||||
|
||||
emit_output_no_license()
|
||||
{
|
||||
if test x$show_no_spdx != x; then
|
||||
echo $display_file_name
|
||||
elif test x$be_quiet = x; then
|
||||
if test "x$display_file_name" = x; then
|
||||
echo "NO-LICENSE"
|
||||
else
|
||||
echo "$display_file_name: NO-LICENSE"
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 1
|
||||
}
|
||||
|
||||
emit_output_with_license()
|
||||
{
|
||||
license=$1
|
||||
if test x$show_no_spdx != x; then
|
||||
:
|
||||
elif test "x$display_file_name" = x; then
|
||||
echo "$license"
|
||||
else
|
||||
echo "$display_file_name: $license"
|
||||
fi
|
||||
exit 0
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
license=$(head --lines=5 $file | sed -n -E "s/^.*(SPDX-License-Identifier:)[ ]*([^*/]+).*$/\2/p")
|
||||
|
||||
if test "x$license" = x; then
|
||||
emit_output_no_license
|
||||
else
|
||||
emit_output_with_license "$license"
|
||||
fi
|
||||
}
|
||||
|
||||
while test $# -ge 1
|
||||
do
|
||||
case "$1" in
|
||||
-h|--help)
|
||||
display_usage
|
||||
exit 0
|
||||
;;
|
||||
|
||||
-f|--file)
|
||||
if test x$2 = x; then
|
||||
>&2 display_usage
|
||||
exit 1
|
||||
fi
|
||||
display_file_name=$2
|
||||
shift
|
||||
;;
|
||||
|
||||
-q|--quiet)
|
||||
be_quiet=yes
|
||||
shift
|
||||
;;
|
||||
|
||||
--show-no-spdx)
|
||||
if test x$2 = x; then
|
||||
>&2 display_usage
|
||||
exit 1
|
||||
fi
|
||||
show_no_spdx=yes
|
||||
display_file_name=$2
|
||||
shift
|
||||
;;
|
||||
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test $# -lt 1; then
|
||||
>&2 display_usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
file=$1
|
||||
|
||||
main
|
Loading…
Reference in New Issue