fix for GCC 4.5 compiler warning
[olsrd.git] / license.sh
1 #!/bin/sh
2
3 # ./contrib/netsimpcap is GPLv3
4 EXCEPT="$EXCEPT -not -path './contrib/netsimpcap/*'"
5
6 # ./gui/linux-gtk/* is GPLv2
7 EXCEPT="$EXCEPT -not -path './gui/linux-gtk/*'"
8
9 # ./gui/win32/Main/StdAfx.cpp/h are generated
10 EXCEPT="$EXCEPT -not -path './gui/win32/Main/StdAfx.*'"
11
12 # ./gui/win32/Main/resource.h is generated
13 EXCEPT="$EXCEPT -not -path './gui/win32/Main/resource.h'"
14
15 # ./lib/bmf is other legal body
16 EXCEPT="$EXCEPT -not -path './lib/bmf/*'"
17
18 # ./lib/quagga states GPLv2 or LGPLv2
19 EXCEPT="$EXCEPT -not -path './lib/quagga/*'"
20
21 # ./lib/secure/src/md5.[ch] have some homegrown license from RSA Inc.
22 EXCEPT="$EXCEPT -not -path './lib/secure/src/md5.*'"
23
24 # ./src/win32/ce/ws2tcpip.h has none
25 EXCEPT="$EXCEPT -not -path './src/win32/ce/ws2tcpip.h'"
26
27 # ./src/valgrind/*.h is dual licensed
28 EXCEPT="$EXCEPT -not -path './src/valgrind/*.h'"
29
30 # ./src/builddata.c is generated
31 EXCEPT="$EXCEPT -not -path './src/builddata.c'"
32
33 get_license()
34 {
35   echo "$1"|sed '
36     s/ *$//
37     1d
38     /^Copyright/,/^ /{
39       r/dev/stdin
40       d
41     }
42     $a\
43 \
44 Visit http://www.olsr.org for more information.\
45 \
46 If you find this software useful feel free to make a donation\
47 to the project. For more information see the website or contact\
48 the copyright holders.
49   ' ${0%.*}.txt
50 }
51
52 put_license()
53 {
54   case "$1" in
55     "")
56       echo "Please provide a file name" >&2 && exit
57     ;;
58     ./src/common/string.*|./src/ipcalc.*|./src/plugin_util.*)
59       get_license "$(hg log $1|sed '/2208:4b42f04361a3/,/^$/d'|sed '/2210:3de603afe4cb/,/^$/d'|sed -n '/user:/{s/[^ ]* *//;s/.$/&/;h};/date:/{s/[^ ]* *[^ ]* *[^ ]* *[^ ]* *[^ ]* */Copyright (c) /;s/ [^ ]*$/, /;G;s/\n//;s/@/-at-/;p}'|sort|uniq)"
60       ;;
61     *)
62       get_license "Copyright (c) 2004-$(date +%Y), the olsr.org team - see HISTORY file"
63     ;;
64   esac
65 }
66
67 put_source()
68 {
69   put_license $1 | sed '
70     1i\
71 /*
72     $a\
73  *\
74  */
75     s/./ * &/
76     s/^$/ */
77   ' | sed -i '
78     /\/\*/{
79       N
80       s/The olsr.org Optimized Link-State Routing daemon/&/
81       tzap
82       b
83     :zap
84       N
85       s/\*\///
86       tend
87       bzap
88     :end
89       r/dev/stdin
90       d
91     }
92   ' $1
93 }
94
95 put_makefile()
96 {
97   put_license $1 | sed '
98     s/./# &/
99     s/^$/#/
100     $a#\
101 ' | sed -i '
102     1,/^$/{
103       r/dev/stdin
104       d
105     }
106   ' $1
107 }
108
109 put_nsis()
110 {
111   put_license $1 | sed '
112     1i;
113     s/./;  &/
114     s/^$/;/
115     $a;\
116 ;\
117 ' | sed -i '
118     1,/^$/{
119       r/dev/stdin
120       d
121     }
122   ' $1
123 }
124
125 if false;then
126   for file in $(eval find -type f -name "*.[ch]" $EXCEPT) \
127               $(eval find -type f -name "*.cpp" $EXCEPT) \
128               $(eval find -type f -name "Makefile" $EXCEPT) \
129               $(eval find -type f -name "*.nsi" $EXCEPT)
130   do
131     grep -q "The olsr.org Optimized Link-State Routing daemon" $file || echo $file
132   done
133 fi
134
135 for file in $(eval find -type f -name "*.[ch]" $EXCEPT);do
136   put_source $file
137 done
138
139 for file in $(eval find -type f -name "*.cpp" $EXCEPT);do
140   put_source $file
141 done
142
143 for file in $(eval find -type f -name "Makefile" $EXCEPT);do
144   put_makefile $file
145 done
146
147 for file in $(eval find -type f -name "*.nsi" $EXCEPT);do
148   put_nsis $file
149 done