]> err.no Git - sope/blob - maintenance/sope-fixcopyright.sh
updated Xcode projects (dyld versions, added new files)
[sope] / maintenance / sope-fixcopyright.sh
1 #!/bin/sh
2
3 BASEDIR=$1
4 INPAT="$2"
5
6 usage() {
7     echo "usage: $0 <basedir> <input pattern>";
8 }
9
10 if test "x$BASEDIR" = "x"; then
11   echo "error: missing basedir"
12   usage;
13   exit 1
14 fi
15 if test "x$INPAT" = "x"; then
16   echo "error: missing input pattern"
17   usage;
18   exit 1
19 fi
20
21 DRYRUN="no"
22
23 SOPE_SIG="This file is part of SOPE."
24 SOPE_COPYRIGHT="Copyright (C) 2000-2005 SKYRIX Software AG"
25 SOPE_COPYRIGHT2="Copyright (C) 2002-2005 SKYRIX Software AG"
26 SOPE_COPYRIGHT4="Copyright (C) 2004-2005 SKYRIX Software AG"
27
28 echo "working on files `date +%Y-%m-%d/%H:%M` ..."
29
30 for FILE in `find $BASEDIR -type f -name "$INPAT" | grep -v ".o$" | grep -v ".so$" | grep -v "\.svn/" | grep -v ".sax/" | grep -v shared_debug_obj/`; do
31     echo -n "  work on $FILE .."
32     
33     INPUTNAME="$FILE"
34     DELFILES=""
35     
36     # OGo name
37     
38     grep "This file is part of O" $INPUTNAME >/dev/null
39     if test $? = 0; then
40         echo -n " PartOf .."
41         OUT="${INPUTNAME}.partof"
42         sed <$INPUTNAME >$OUT "s/This file is part of.*\$/${SOPE_SIG}/"
43         INPUTNAME="$OUT"
44         DELFILES="$DELFILES $OUT"
45     fi
46     
47     head -n 20 $INPUTNAME | grep " OGo" >/dev/null
48     if test $? = 0; then
49         echo -n " OGo .."
50         OUT="${INPUTNAME}.ogo"
51         head -n 20  $INPUTNAME | sed "s| OGo| SOPE|g" >$OUT
52         tail -n +21 $INPUTNAME >>$OUT
53         INPUTNAME="$OUT"
54         DELFILES="$DELFILES $OUT"
55     fi
56
57     # copyright
58     
59     PAT="Copyright.*2000-200[34].*SKYRIX.*\$"
60     grep "$PAT" $INPUTNAME >/dev/null
61     if test $? = 0; then
62         echo -n " (c) .."
63         OUT="${INPUTNAME}.copy"
64         sed <$INPUTNAME >$OUT "s/${PAT}/${SOPE_COPYRIGHT}/"
65         INPUTNAME="$OUT"
66         DELFILES="$DELFILES $OUT"
67     fi
68
69     PAT="Copyright.*2002-200[34].*SKYRIX.*\$"
70     grep "$PAT" $INPUTNAME >/dev/null
71     if test $? = 0; then
72         echo -n " (c) .."
73         OUT="${INPUTNAME}.copy2"
74         sed <$INPUTNAME >$OUT "s/${PAT}/${SOPE_COPYRIGHT2}/"
75         INPUTNAME="$OUT"
76         DELFILES="$DELFILES $OUT"
77     fi
78
79     PAT="Copyright.* 2004 .*SKYRIX.*\$"
80     grep "$PAT" $INPUTNAME >/dev/null
81     if test $? = 0; then
82         echo -n " (c) .."
83         OUT="${INPUTNAME}.copy3"
84         sed <$INPUTNAME >$OUT "s/${PAT}/${SOPE_COPYRIGHT4}/"
85         INPUTNAME="$OUT"
86         DELFILES="$DELFILES $OUT"
87     fi
88
89     # $Id$
90     
91     PAT="^// .Id.*"
92     grep "$PAT" $INPUTNAME >/dev/null
93     if test $? = 0; then
94         echo -n " Id .."
95         OUT="${INPUTNAME}.id"
96         grep -v "$PAT" <$INPUTNAME >$OUT
97         INPUTNAME="$OUT"
98         DELFILES="$DELFILES $OUT"
99     fi
100
101     # finish up
102     
103     if test "$FILE" = "$INPUTNAME"; then
104         echo ".. no changes."
105     else
106         echo ".. done: `basename $INPUTNAME`."
107         if test "x$DRYRUN" != "xyes"; then
108             cp $INPUTNAME $FILE
109         fi
110         for DELFILE in $DELFILES; do rm $DELFILE; done
111     fi
112 done
113
114 echo "done: `date +%Y-%m-%d/%H:%M`."