From b26d696c95244055eed634129cd8316a1b298577 Mon Sep 17 00:00:00 2001 From: "Dr. Matthias St. Pierre" Date: Sun, 7 Jan 2018 02:29:01 +0100 Subject: [PATCH] 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 Reviewed-by: Rich Salz Reviewed-by: Richard Levitte (Merged from https://github.com/openssl/openssl/pull/5027) --- util/openssl-update-copyright | 58 +++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100755 util/openssl-update-copyright 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 <& 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 -- 2.34.1