mirror of
				https://github.com/ossrs/srs.git
				synced 2025-03-09 15:49:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			63 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/env 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]"
 | 
						|
year_range="(${some_year})(-${some_year})?"
 | 
						|
 | 
						|
copyright_owner="The OpenSSL Project"
 | 
						|
copyright="Copyright .*${year_range} .*${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
 | 
						|
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 -E -i "${sed_script}" "$arg"
 | 
						|
			elif [ -d "$arg" ]; then
 | 
						|
				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
 | 
						|
			;;
 | 
						|
	esac
 | 
						|
done
 |