提交 b26d696c 编写于 作者: D Dr. Matthias St. Pierre 提交者: Richard Levitte

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: NDr. Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
Reviewed-by: NRich Salz <rsalz@openssl.org>
Reviewed-by: NRichard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5027)
上级 47eeaf45
#!/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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册