You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

yearcheck.sh 3.9 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. #!/bin/sh
  2. #
  3. # The Apache Software License, Version 1.1
  4. #
  5. # Copyright (c) 2002 The Apache Software Foundation. All rights
  6. # reserved.
  7. #
  8. # Redistribution and use in source and binary forms, with or without
  9. # modification, are permitted provided that the following conditions
  10. # are met:
  11. #
  12. # 1. Redistributions of source code must retain the above copyright
  13. # notice, this list of conditions and the following disclaimer.
  14. #
  15. # 2. Redistributions in binary form must reproduce the above copyright
  16. # notice, this list of conditions and the following disclaimer in
  17. # the documentation and/or other materials provided with the
  18. # distribution.
  19. #
  20. # 3. The end-user documentation included with the redistribution, if
  21. # any, must include the following acknowlegement:
  22. # "This product includes software developed by the
  23. # Apache Software Foundation (http://www.apache.org/)."
  24. # Alternately, this acknowlegement may appear in the software itself,
  25. # if and wherever such third-party acknowlegements normally appear.
  26. #
  27. # 4. The names "The Jakarta Project", "Ant", and "Apache Software
  28. # Foundation" must not be used to endorse or promote products derived
  29. # from this software without prior written permission. For written
  30. # permission, please contact apache@apache.org.
  31. #
  32. # 5. Products derived from this software may not be called "Apache"
  33. # nor may "Apache" appear in their names without prior written
  34. # permission of the Apache Group.
  35. #
  36. # THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  37. # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  38. # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  39. # DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  40. # ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  41. # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  42. # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  43. # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  44. # ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  45. # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  46. # OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  47. # SUCH DAMAGE.
  48. # ====================================================================
  49. #
  50. # This software consists of voluntary contributions made by many
  51. # individuals on behalf of the Apache Software Foundation. For more
  52. # information on the Apache Software Foundation, please see
  53. # <http://www.apache.org/>.
  54. #
  55. #
  56. # Simple shell script that checks whether changed files contain a copyright
  57. # statement for a given year.
  58. #
  59. # Rename (or symlink) this script to the year you want to check, i.e. name it
  60. # 2002 if you want to check for copyright statements that do not contain#
  61. # the year 2002.
  62. #
  63. # Use this script instead of your usual cvs update command.
  64. #
  65. # Usage YEAR [all]
  66. #
  67. # If the optional all argument has been omitted, the proposal directory will
  68. # be skipped.
  69. #
  70. if [ -n "$TMP" ]; then
  71. TEMP_FILE="$TMP"/changed-files
  72. else
  73. if [ -n "$TEMP" ]; then
  74. TEMP_FILE="$TEMP"/changed-files
  75. else
  76. TEMP_FILE=/tmp/changed-files
  77. fi
  78. fi
  79. YEAR=`basename $0`
  80. if [ -z "$1" ]; then
  81. cvs -z3 update -dP | fgrep -v proposal | cut -f 2 -d ' ' > $TEMP_FILE
  82. else
  83. if [ "all" == "$1" ]; then
  84. cvs -z3 update -dP | cut -f 2 -d ' ' > $TEMP_FILE
  85. else
  86. echo "Usage: $YEAR [all]"
  87. exit
  88. fi
  89. fi
  90. echo "Changed:"
  91. echo "========"
  92. cat $TEMP_FILE
  93. echo
  94. xargs fgrep -L Copyright < $TEMP_FILE > /tmp/no-copyright
  95. echo "No Copyright line"
  96. echo "================="
  97. cat /tmp/no-copyright
  98. echo
  99. xargs egrep -L "Copyright.*$YEAR" < $TEMP_FILE | cut -f 1 -d : > /tmp/no-$YEAR
  100. echo "No Copyright line for year $YEAR"
  101. echo "================================"
  102. cat /tmp/no-$YEAR
  103. rm $TEMP_FILE