olsrd: do not remove the old config file if present
[feed/routing.git] / olsrd / Makefile
1 #
2 # Copyright (C) 2009-2012 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=olsrd
11 PKG_VERSION:=0.6.6.2
12 PKG_RELEASE:=3
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 PKG_SOURCE_URL:=http://www.olsr.org/releases/0.6
16
17 PKG_MD5SUM:=e4e04bb033cffd99b3be397fa9063a54
18 PKG_BUILD_PARALLEL:=1
19
20 include $(INCLUDE_DIR)/package.mk
21
22 TARGET_CFLAGS += $(FPIC)
23
24 define Package/olsrd/template
25 SECTION:=net
26 CATEGORY:=Network
27 SUBMENU:=Routing and Redirection
28 MAINTAINER:=Saverio Proto <zioproto@gmail.com>
29 TITLE:=OLSR (Optimized Link State Routing) daemon
30 URL:=http://www.olsr.org/
31 endef
32
33 define Package/olsrd
34 $(call Package/olsrd/template)
35 MENU:=1
36 DEPENDS:=+libpthread
37 endef
38
39 define Package/olsrd/conffiles
40 /etc/config/olsrd4
41 /etc/config/olsrd6
42 endef
43
44 define Package/olsrd-mod-arprefresh
45 $(call Package/olsrd/template)
46 DEPENDS:=olsrd
47 TITLE:=Kernel ARP cache refresh plugin
48 endef
49
50 define Package/olsrd-mod-dot-draw
51 $(call Package/olsrd/template)
52 DEPENDS:=olsrd
53 TITLE:=Dot topology information plugin
54 endef
55
56 define Package/olsrd-mod-bmf
57 $(call Package/olsrd/template)
58 DEPENDS:=olsrd +kmod-tun
59 TITLE:=Basic multicast forwarding plugin
60 endef
61
62 define Package/olsrd-mod-dyn-gw
63 $(call Package/olsrd/template)
64 DEPENDS:=olsrd
65 TITLE:=Dynamic internet gateway plugin
66 endef
67
68 define Package/olsrd-mod-dyn-gw-plain
69 $(call Package/olsrd/template)
70 DEPENDS:=olsrd
71 TITLE:=Dynamic internet gateway plain plugin
72 endef
73
74 define Package/olsrd-mod-httpinfo
75 $(call Package/olsrd/template)
76 DEPENDS:=olsrd
77 TITLE:=Small informative web server plugin
78 endef
79
80 define Package/olsrd-mod-jsoninfo
81 $(call Package/olsrd/template)
82 DEPENDS:=olsrd
83 TITLE:=Small informative plugin with JSON output
84 endef
85
86 define Package/olsrd-mod-mdns
87 $(call Package/olsrd/template)
88 DEPENDS:=olsrd
89 TITLE:=MDNS/Zeroconf/Bonjour packet distribution
90 endef
91
92 define Package/olsrd-mod-nameservice
93 $(call Package/olsrd/template)
94 DEPENDS:=olsrd
95 TITLE:=Lightweight hostname resolver plugin
96 endef
97
98 define Package/olsrd-mod-p2pd
99 $(call Package/olsrd/template)
100 DEPENDS:=olsrd
101 TITLE:=Peer to Peer Discovery plugin
102 endef
103
104
105 define Package/olsrd-mod-pgraph
106 $(call Package/olsrd/template)
107 DEPENDS:=olsrd
108 TITLE:=output network topology for pgraph
109 endef
110
111 define Package/olsrd-mod-pud
112 $(call Package/olsrd/template)
113 DEPENDS:=olsrd
114 TITLE:=Position Update Distribution plugin
115 endef
116
117 define Package/olsrd-mod-quagga
118 $(call Package/olsrd/template)
119 DEPENDS:=olsrd
120 TITLE:=Quagga plugin
121 endef
122
123 define Package/olsrd-mod-secure
124 $(call Package/olsrd/template)
125 DEPENDS:=olsrd
126 TITLE:=Message signing plugin to secure routing domain
127 endef
128
129 define Package/olsrd-mod-sgwdynspeed
130 $(call Package/olsrd/template)
131 DEPENDS:=olsrd
132 TITLE:=Smart Gateway dynamic speed plugin
133 endef
134
135 define Package/olsrd-mod-txtinfo
136 $(call Package/olsrd/template)
137 DEPENDS:=olsrd
138 TITLE:=Small informative web server plugin
139 endef
140
141 define Package/olsrd-mod-watchdog
142 $(call Package/olsrd/template)
143 DEPENDS:=olsrd
144 TITLE:=Watchdog plugin
145 endef
146
147 define Package/olsrd-mod-pud/conffiles
148 /etc/olsrd.d/olsrd.pud.position.conf
149 endef
150
151 define Package/olsrd-mod-secure/conffiles
152 /etc/olsrd.d/olsrd_secure_key
153 endef
154
155 define Package/olsrd-mod-sgwdynspeed/conffiles
156 /etc/olsrd.d/olsrd.sgw.speed.conf
157 endef
158
159 MAKE_FLAGS+= \
160 NO_DEBUG_MESSAGES=1 \
161 OS="linux" \
162 DESTDIR="$(PKG_INSTALL_DIR)" \
163 STRIP="true" \
164 INSTALL_LIB="true" \
165 SUBDIRS="arprefresh bmf dot_draw dyn_gw dyn_gw_plain httpinfo jsoninfo mdns nameservice p2pd pgraph pud quagga secure sgwdynspeed txtinfo watchdog"
166
167 define Build/Compile
168 $(call Build/Compile/Default,all)
169 $(call Build/Compile/Default,libs)
170 endef
171
172 define Package/olsrd/install
173 $(INSTALL_DIR) $(1)/lib/functions
174 $(INSTALL_DATA) ./files/olsrd.init $(1)/lib/functions/olsrd.sh
175 $(INSTALL_DIR) $(1)/etc/config
176 $(INSTALL_DATA) ./files/olsrd4.config $(1)/etc/config/olsrd4
177 $(INSTALL_DATA) ./files/olsrd6.config $(1)/etc/config/olsrd6
178 $(INSTALL_DIR) $(1)/usr/sbin
179 $(INSTALL_BIN) $(PKG_BUILD_DIR)/olsrd $(1)/usr/sbin/
180 $(INSTALL_DIR) $(1)/etc/init.d
181 $(INSTALL_BIN) ./files/olsrd4.init $(1)/etc/init.d/olsrd4
182 $(INSTALL_BIN) ./files/olsrd6.init $(1)/etc/init.d/olsrd6
183 $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
184 $(INSTALL_BIN) ./files/olsrd.hotplug.sh $(1)/etc/hotplug.d/iface/50-olsrd
185 endef
186
187 define Package/olsrd/preinst
188 #!/bin/sh
189 # check if we are on real system
190 if [ -z "$${IPKG_INSTROOT}" ]; then
191 [ -f /etc/config/olsrd ] && cp /etc/config/olsrd /etc/config/olsrd.opkg-old
192 fi
193 exit 0
194 endef
195
196 define Package/olsrd/postinst
197 #!/bin/sh
198 # check if we are on real system
199 if [ -z "$${IPKG_INSTROOT}" ]; then
200 if [ -f /etc/config/olsrd.opkg-old ]; then
201 mv /etc/config/olsrd.opkg-old /etc/config/olsrd
202 echo "********** WARNING ***************"
203 echo "/etc/config/olsrd is no longer used! This will prevent olsrd to start."
204 echo "Please use /etc/config/olsrd4 for IPv4 and /etc/config/olrsd6 for IPv6"
205 echo "Remember to remove option IpVersion from your config file"
206 fi
207 fi
208 exit 0
209 endef
210
211 define Package/olsrd-mod-arprefresh/install
212 $(INSTALL_DIR) $(1)/usr/lib
213 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/arprefresh/olsrd_arprefresh.so.* $(1)/usr/lib/
214 endef
215
216 define Package/olsrd-mod-dot-draw/install
217 $(INSTALL_DIR) $(1)/usr/lib
218 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/dot_draw/olsrd_dot_draw.so.* $(1)/usr/lib/
219 endef
220
221 define Package/olsrd-mod-bmf/install
222 $(INSTALL_DIR) $(1)/usr/lib
223 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/bmf/olsrd_bmf.so.* $(1)/usr/lib/
224 endef
225
226 define Package/olsrd-mod-dyn-gw/install
227 $(INSTALL_DIR) $(1)/usr/lib
228 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/dyn_gw/olsrd_dyn_gw.so.* $(1)/usr/lib/
229 endef
230
231 define Package/olsrd-mod-dyn-gw-plain/install
232 $(INSTALL_DIR) $(1)/usr/lib
233 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/dyn_gw_plain/olsrd_dyn_gw_plain.so.* $(1)/usr/lib/
234 endef
235
236 define Package/olsrd-mod-httpinfo/install
237 $(INSTALL_DIR) $(1)/usr/lib
238 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/httpinfo/olsrd_httpinfo.so.* $(1)/usr/lib/
239 endef
240
241 define Package/olsrd-mod-jsoninfo/install
242 $(INSTALL_DIR) $(1)/usr/lib
243 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/jsoninfo/olsrd_jsoninfo.so.* $(1)/usr/lib/
244 endef
245
246 define Package/olsrd-mod-mdns/install
247 $(INSTALL_DIR) $(1)/usr/lib
248 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/mdns/olsrd_mdns.so.* $(1)/usr/lib/
249 endef
250
251 define Package/olsrd-mod-nameservice/install
252 $(INSTALL_DIR) $(1)/usr/lib
253 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/nameservice/olsrd_nameservice.so.* $(1)/usr/lib/
254 endef
255
256 define Package/olsrd-mod-p2pd/install
257 $(INSTALL_DIR) $(1)/usr/lib
258 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/p2pd/olsrd_p2pd.so.* $(1)/usr/lib/
259 endef
260
261 define Package/olsrd-mod-pgraph/install
262 $(INSTALL_DIR) $(1)/usr/lib
263 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/pgraph/olsrd_pgraph.so.* $(1)/usr/lib/
264 endef
265
266 define Package/olsrd-mod-pud/install
267 $(INSTALL_DIR) $(1)/etc/olsrd.d
268 $(CP) ./files/olsrd.pud.position.conf $(1)/etc/olsrd.d/
269 $(INSTALL_DIR) $(1)/usr/lib
270 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/pud/nmealib/lib/libnmea.so $(1)/usr/lib/
271 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/pud/wireformat/lib/libOlsrdPudWireFormat.so $(1)/usr/lib/
272 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/pud/olsrd_pud.so.* $(1)/usr/lib/
273 endef
274
275 define Package/olsrd-mod-quagga/install
276 $(INSTALL_DIR) $(1)/usr/lib
277 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/quagga/olsrd_quagga.so.* $(1)/usr/lib/
278 endef
279
280 define Package/olsrd-mod-secure/install
281 $(INSTALL_DIR) $(1)/etc/olsrd.d
282 $(CP) ./files/olsrd_secure_key $(1)/etc/olsrd.d/
283 $(INSTALL_DIR) $(1)/usr/lib
284 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/secure/olsrd_secure.so.* $(1)/usr/lib/
285 endef
286
287 define Package/olsrd-mod-sgwdynspeed/install
288 $(INSTALL_DIR) $(1)/etc/olsrd.d
289 $(CP) ./files/olsrd.sgw.speed.conf $(1)/etc/olsrd.d/
290 $(INSTALL_DIR) $(1)/usr/lib
291 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/sgwdynspeed/olsrd_sgwdynspeed.so.* $(1)/usr/lib/
292 endef
293
294 define Package/olsrd-mod-txtinfo/install
295 $(INSTALL_DIR) $(1)/usr/lib
296 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/txtinfo/olsrd_txtinfo.so.* $(1)/usr/lib/
297 endef
298
299 define Package/olsrd-mod-watchdog/install
300 $(INSTALL_DIR) $(1)/usr/lib
301 $(INSTALL_BIN) $(PKG_BUILD_DIR)/lib/watchdog/olsrd_watchdog.so.* $(1)/usr/lib/
302 endef
303
304 $(eval $(call BuildPackage,olsrd))
305 $(eval $(call BuildPackage,olsrd-mod-arprefresh))
306 $(eval $(call BuildPackage,olsrd-mod-dot-draw))
307 $(eval $(call BuildPackage,olsrd-mod-bmf))
308 $(eval $(call BuildPackage,olsrd-mod-dyn-gw))
309 $(eval $(call BuildPackage,olsrd-mod-dyn-gw-plain))
310 $(eval $(call BuildPackage,olsrd-mod-httpinfo))
311 $(eval $(call BuildPackage,olsrd-mod-jsoninfo))
312 $(eval $(call BuildPackage,olsrd-mod-mdns))
313 $(eval $(call BuildPackage,olsrd-mod-nameservice))
314 $(eval $(call BuildPackage,olsrd-mod-p2pd))
315 $(eval $(call BuildPackage,olsrd-mod-pgraph))
316 $(eval $(call BuildPackage,olsrd-mod-pud))
317 $(eval $(call BuildPackage,olsrd-mod-quagga))
318 $(eval $(call BuildPackage,olsrd-mod-secure))
319 $(eval $(call BuildPackage,olsrd-mod-sgwdynspeed))
320 $(eval $(call BuildPackage,olsrd-mod-txtinfo))
321 $(eval $(call BuildPackage,olsrd-mod-watchdog))