The branch master has been updated
       via  433a2e038423f111f5f9e66fe6d8ad67dd241422 (commit)
      from  08455bc9b0e69ed5f25c16fc30cc2db57cdca842 (commit)


- Log -----------------------------------------------------------------
commit 433a2e038423f111f5f9e66fe6d8ad67dd241422
Author: Dr. Matthias St. Pierre <[email protected]>
Date:   Tue Jan 9 16:09:14 2018 +0100

    Enhance util/openssl-update-copyright shell script
    
    - Avoid creating repeated year ranges <current_year>-<current_year> for
      documents which were added in the current year.
    
    - Use extended regular expressions for better readability (less quoting)
    
    - Use a shebang line which is more portable
    
    Reviewed-by: Rich Salz <[email protected]>
    Reviewed-by: Richard Levitte <[email protected]>
    (Merged from https://github.com/openssl/openssl/pull/5044)

-----------------------------------------------------------------------

Summary of changes:
 util/openssl-update-copyright | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/util/openssl-update-copyright b/util/openssl-update-copyright
index 98d1365..c432f84 100755
--- a/util/openssl-update-copyright
+++ b/util/openssl-update-copyright
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 #
 # Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.
 #
@@ -12,12 +12,17 @@ myname="$(basename $0)"
 
 this_year="$(date '+%Y')"
 some_year="[12][0-9][0-9][0-9]"
+year_range="(${some_year})(-${some_year})?"
 
 copyright_owner="The OpenSSL Project"
+copyright="Copyright .*${year_range} .*${copyright_owner}"
 
-search="Copyright \(([cC]) \)\?\(${some_year}\)\(-${some_year}\)\? 
${copyright_owner}"
-replace="Copyright \1\2-${this_year} ${copyright_owner}"
-
+# sed_script:
+#   for all lines that contain ${copyright} : {
+#     replace years yyyy-zzzz (or year yyyy) by yyyy-${this_year}
+#     replace repeated years yyyy-yyyy by yyyy
+#   }
+sed_script="/${copyright}/{ s/${year_range}/\1-${this_year}/ ; 
s/(${some_year})-\1/\1/ }"
 
 function usage() {
        cat >&2 <<EOF
@@ -47,9 +52,9 @@ for arg in "$@"; do
                        ;;
                *)
                        if [ -f "$arg" ]; then
-                               sed -i "s/${search}/${replace}/g" "$arg"
+                               sed -E -i "${sed_script}" "$arg"
                        elif [ -d "$arg" ]; then
-                               find "$arg" -name '.[a-z]*' -prune -o -type f 
-exec sed -i "s/${search}/${replace}/g" {} +
+                               find "$arg" -name '.[a-z]*' -prune -o -type f 
-exec sed -E -i "${sed_script}" {} +
                        else
                                echo "$arg: no such file or directory" >&2
                        fi
_____
openssl-commits mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits

Reply via email to