diff options
Diffstat (limited to 'util')
-rwxr-xr-x | util/openssl-update-copyright | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/util/openssl-update-copyright b/util/openssl-update-copyright new file mode 100755 index 0000000000..98d1365625 --- /dev/null +++ b/util/openssl-update-copyright @@ -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 |