mirror of
git://sourceware.org/git/libabigail.git
synced 2025-04-01 23:01:04 +00:00
Add replace-spdx-license.sh script
This script is to replace an SPDX license ID by another one. I.e, it's to perform an actual re-licensing of a given file. A way to use the script is this: replace-spdx-license.sh --from LGPL-3.0-or-later \ --to "Apache-2.0 WITH LLVM-exception" \ some-file-to-relicense.cc * relicensing-scripts/replace-spdx-license.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
418ea85baf
commit
964bf04158
75
relicensing-scripts/replace-spdx-license.sh
Executable file
75
relicensing-scripts/replace-spdx-license.sh
Executable file
@ -0,0 +1,75 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
# Author: Dodji Seketeli <dodji@redhat.com>
|
||||
|
||||
from_license_id=
|
||||
to_license_id=
|
||||
input_file=
|
||||
prog=$0
|
||||
|
||||
display_usage()
|
||||
{
|
||||
echo "$prog: [options] --from <from-spdx-license-id> --to <to-spdx-license-id> <file>"
|
||||
echo " where options can be:"
|
||||
echo " -h|--h display this help"
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
header=$(head --lines=5 $input_file | grep "SPDX-License-Identifier:")
|
||||
if test "x$header" != x; then
|
||||
license=$(echo "$header" | sed -r "s/^.*(SPDX-License-Identifier:)[ ]*([^*/]+).*$/\2/")
|
||||
fi
|
||||
|
||||
if test "x$license" != x -a "$license" = "$from_license_id"; then
|
||||
sed -i -r "s/$from_license_id/$to_license_id/" $input_file
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exit 1
|
||||
}
|
||||
|
||||
# This program takes at least 5 arguments
|
||||
if test $# -lt 5; then
|
||||
>&2 display_usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Parse parameters
|
||||
while test $# -gt 1; do
|
||||
case "$1" in
|
||||
-h|--h)
|
||||
display_usage
|
||||
exit 0
|
||||
;;
|
||||
|
||||
-f|--from)
|
||||
from_license_id=$2
|
||||
shift
|
||||
;;
|
||||
|
||||
-t|--to)
|
||||
to_license_id=$2
|
||||
shift
|
||||
;;
|
||||
|
||||
-*)
|
||||
>&2 display_usage
|
||||
exit 1
|
||||
;;
|
||||
|
||||
*)
|
||||
input_file="$1"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if test $# -lt 1; then
|
||||
>&2 display_usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
input_file=$1
|
||||
|
||||
main
|
Loading…
Reference in New Issue
Block a user