mirror of
https://github.com/openssl/openssl.git
synced 2025-01-18 13:44:20 +08:00
Add util/openssl-update-copyright shell script
usage: openssl-update-copyright [-h|--help] [file|directory] ... Updates the year ranges of all OpenSSL copyright statements in the given files or directories. (Directories are traversed recursively.) Only copyright statements containing the string 'The OpenSSL Project' are affected. The copyright time range is adjusted to include the current year. If only a single year was specified, it is replaced by a time range starting at that year and ending at the current year. All '(c)' and '(C)' signs are preserved. Signed-off-by: Dr. Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5027)
This commit is contained in:
parent
47eeaf45b5
commit
b26d696c95
58
util/openssl-update-copyright
Executable file
58
util/openssl-update-copyright
Executable file
@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the OpenSSL license (the "License"). You may not use
|
||||
# this file except in compliance with the License. You can obtain a copy
|
||||
# in the file LICENSE in the source distribution or at
|
||||
# https://www.openssl.org/source/license.html
|
||||
|
||||
|
||||
myname="$(basename $0)"
|
||||
|
||||
this_year="$(date '+%Y')"
|
||||
some_year="[12][0-9][0-9][0-9]"
|
||||
|
||||
copyright_owner="The OpenSSL Project"
|
||||
|
||||
search="Copyright \(([cC]) \)\?\(${some_year}\)\(-${some_year}\)\? ${copyright_owner}"
|
||||
replace="Copyright \1\2-${this_year} ${copyright_owner}"
|
||||
|
||||
|
||||
function usage() {
|
||||
cat >&2 <<EOF
|
||||
usage: $myname [-h|--help] [file|directory] ...
|
||||
|
||||
Updates the year ranges of all OpenSSL copyright statements in the given
|
||||
files or directories. (Directories are traversed recursively.)
|
||||
EOF
|
||||
}
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
usage
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
for arg in "$@"; do
|
||||
case $arg in
|
||||
-h|--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
-*)
|
||||
echo -e "illegal option: $arg\n" >& 2
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
if [ -f "$arg" ]; then
|
||||
sed -i "s/${search}/${replace}/g" "$arg"
|
||||
elif [ -d "$arg" ]; then
|
||||
find "$arg" -name '.[a-z]*' -prune -o -type f -exec sed -i "s/${search}/${replace}/g" {} +
|
||||
else
|
||||
echo "$arg: no such file or directory" >&2
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
Loading…
Reference in New Issue
Block a user