summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rwxr-xr-xutil/openssl-update-copyright58
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