#!/bin/sh # Copyright 2008-2015 Free Software Foundation, Inc. # This script is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # ck-copyright-notice can be run from the tools directory dir=$(pwd) [ -d src ] || [ "$(basename "$dir")" != tools ] || cd .. err=0 # Note: if paragraphs are reformatted, this may need to be updated. yrx="\([0-9][0-9][0-9][0-9]\)" lgpl=$(sed -n "/version [0-9.]* or any later version/ { s/.*version // s/ or.*// p q }" doc/mpfr.texi) clyr=$(sed -n "/^r/ { s/.* | $yrx-.*/\1/p q }" ChangeLog) # Do not use "find ... | while read file do ... done" because the "do" # part needs to be run in the current shell, and some shells behave in # a different way. srctests=$(find examples src tests -name '*.[ch]') # Take the copyright notice last year of NEWS file as a reference. z=$(sed -n "s/^Copyright 2000-$yrx Free Software Foundation.*/\1/p" NEWS) if [ $z -lt $clyr ]; then echo "The copyright year of NEWS is out-of-date." err=1 fi for file in $srctests BUGS INSTALL README TODO configure.ac do y="" case $file in tests/RRTest.c) # This file doesn't have a copyright notice, but isn't distributed. continue ;; src/mini-gmp.[ch]) # These files may have been added by the user or 3rd party. continue ;; src/mpfr-longlong.h) # This file (which comes from GMP) has a specific copyright notice. continue ;; src/get_patches.c) file="tools/get_patches.sh" ;; */mparam.h) y="2005-" ;; esac grep -q "Copyright $y.*$z Free Software Foundation" "$file" && \ grep -q "GNU MPFR Library" "$file" && \ grep -q "either version $lgpl of the License" "$file" && continue echo "Possibly missing or incorrect copyright notice in $file" err=1 done exit $err