8b03f79569cc186ad5d81d551a0e96087d582262
[project/luci.git] / contrib / package / luci / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_BRANCH:=trunk
4 PKG_SOURCE_URL:=https://dev.leipzig.freifunk.net/svn/ff-luci/$(PKG_BRANCH)
5 PKG_REV:=$(shell LC_ALL=C svn info ${PKG_SOURCE_URL} | sed -ne's/^Last Changed Rev: //p')
6
7 PKG_NAME:=luci
8 PKG_VERSION:=0.7+svn$(PKG_REV)
9 PKG_RELEASE:=1
10
11 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
12 PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
13 PKG_SOURCE_PROTO:=svn
14 PKG_SOURCE_VERSION:=$(PKG_REV)
15
16 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
17 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
18
19 LUA_TARGET:=source
20 PKG_SELECTED_MODULES:=
21
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Build/Configure
26 endef
27
28 ### Templates ###
29
30 define Package/luci/libtemplate
31 SECTION:=admin
32 CATEGORY:=Administration
33 TITLE:=LuCI - Lua Configuration Interface
34 URL:=http://luci.freifunk-halle.net/
35 MAINTAINER:=Steven Barth <steven-at-midlink-dot-org>
36 SUBMENU:=LuCI - Libraries
37 DEPENDS:=+luci-core
38 endef
39
40 define Package/luci/fftemplate
41 $(call Package/luci/libtemplate)
42 SUBMENU:=LuCI - Freifunk Support
43 DEPENDS:=+luci-mod-freifunk
44 endef
45
46 define Package/luci/i18ntemplate
47 $(call Package/luci/libtemplate)
48 SUBMENU:=LuCI - Translations
49 DEPENDS:=+luci-web
50 endef
51
52 define Package/luci/thtemplate
53 $(call Package/luci/libtemplate)
54 SUBMENU:=LuCI - Themes
55 DEPENDS:=+luci-web
56 endef
57
58 define Package/luci/webtemplate
59 $(call Package/luci/libtemplate)
60 SUBMENU:=LuCI - Webinterface Components
61 endef
62
63
64 define Package/luci/install/template
65 $(CP) -a $(PKG_BUILD_DIR)/$(2)/dist/* $(1)/ -R
66 $(CP) -a $(PKG_BUILD_DIR)/$(2)/ipkg/* $(1)/CONTROL/ 2>/dev/null || true
67 endef
68
69
70
71 ### Core package ###
72
73 define Package/luci-core
74 $(call Package/luci/libtemplate)
75 DEPENDS:=+lua +luaposix
76 TITLE:=LuCI core libraries
77 endef
78
79 define Package/luci-core/install
80 $(call Package/luci/install/template,$(1),libs/core)
81 endef
82
83 define Package/luci-core/config
84 choice
85 prompt "Build Target"
86 default PACKAGE_luci-core_compile
87
88 config PACKAGE_luci-core_compile
89 bool "Production"
90
91 config PACKAGE_luci-core_source
92 bool "Debug"
93
94 endchoice
95 endef
96
97 ifneq ($(CONFIG_PACKAGE_luci-core_compile),)
98 LUA_TARGET:=compile
99 endif
100
101
102 ### Libraries ###
103 define Package/luci-cbi
104 $(call Package/luci/libtemplate)
105 DEPENDS+=+luci-web
106 TITLE:=Configuration Binding Interface
107 endef
108
109 define Package/luci-cbi/install
110 $(call Package/luci/install/template,$(1),libs/cbi)
111 endef
112
113
114 define Package/luci-uci
115 $(call Package/luci/libtemplate)
116 DEPENDS+=+libuci-lua
117 TITLE:=High-Level UCI API
118 endef
119
120 define Package/luci-uci/install
121 $(call Package/luci/install/template,$(1),libs/uci)
122 endef
123
124
125 define Package/luci-fastindex
126 $(call Package/luci/libtemplate)
127 TITLE:=Fastindex indexing module
128 endef
129
130 define Package/luci-fastindex/install
131 $(call Package/luci/install/template,$(1),libs/fastindex)
132 endef
133
134
135 define Package/luci-http
136 $(call Package/luci/libtemplate)
137 TITLE:=HTTP Protocol implementation
138 endef
139
140 define Package/luci-http/install
141 $(call Package/luci/install/template,$(1),libs/http)
142 endef
143
144
145 define Package/luci-web
146 $(call Package/luci/libtemplate)
147 DEPENDS+=+luci-http +luci-addons +luci-uci
148 TITLE:=MVC Webframework
149 endef
150
151 define Package/luci-web/conffiles
152 /etc/config/luci
153 endef
154
155 define Package/luci-web/install
156 $(call Package/luci/install/template,$(1),libs/web)
157 endef
158
159
160
161 ### Community Packages ###
162
163 define Package/luci-ff-halle
164 $(call Package/luci/fftemplate)
165 DEPENDS+= \
166 +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
167 +luci-app-ffwizard-leipzig \
168 +luci-theme-fledermaus \
169 +luci-i18n-german \
170 +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
171 +kmod-tun +ip
172 TITLE:=Freifunk Halle Community Meta-Package
173 endef
174
175 define Package/luci-ff-halle/install
176 $(call Package/luci/install/template,$(1),applications/community-halle)
177 endef
178
179
180 define Package/luci-ff-leipzig
181 $(call Package/luci/fftemplate)
182 DEPENDS+= \
183 +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
184 +luci-app-ffwizard-leipzig \
185 +luci-theme-fledermaus \
186 +luci-i18n-german \
187 +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
188 +kmod-tun +ip
189 TITLE:=Freifunk Leipzig Community Meta-Package
190 endef
191
192 define Package/luci-ff-leipzig/install
193 $(call Package/luci/install/template,$(1),applications/community-leipzig)
194 endef
195
196
197 define Package/luci-ff-hannover
198 $(call Package/luci/fftemplate)
199 DEPENDS+= \
200 +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
201 +luci-theme-fledermaus \
202 +luci-i18n-german \
203 +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice
204 TITLE:=Freifunk Hannover Community Meta-Package
205 URL:=http://www.freifunk-hannover.de/
206 MAINTAINER:=Mickey Knox <mickey-at-netfreaks-dot-org>
207 endef
208
209 define Package/luci-ff-hannover/install
210 $(call Package/luci/install/template,$(1),applications/community-hannover)
211 endef
212
213
214 ### Modules ###
215
216 define Package/luci-mod-admin-core
217 $(call Package/luci/webtemplate)
218 DEPENDS+=+luci-web +luci-cbi +luci-theme-openwrt +luci-i18n-english
219 TITLE:=Administration module
220 endef
221
222 define Package/luci-mod-admin-core/install
223 $(call Package/luci/install/template,$(1),modules/admin-core)
224 endef
225
226
227 define Package/luci-mod-freifunk
228 $(call Package/luci/fftemplate)
229 DEPENDS:=+luci-mod-admin-core
230 TITLE:=LuCI Freifunk module
231 endef
232
233 define Package/luci-mod-freifunk/conffiles
234 /etc/config/freifunk
235 endef
236
237 define Package/luci-mod-freifunk/install
238 $(call Package/luci/install/template,$(1),modules/freifunk)
239 endef
240
241
242
243 ### Applications ###
244
245 define Package/luci-app-ffwizard-leipzig
246 $(call Package/luci/fftemplate)
247 DEPENDS+=+luci-app-firewall
248 TITLE:=Freifunk Leipzig configuration wizard
249 endef
250
251 define Package/luci-app-ffwizard-leipzig/install
252 $(call Package/luci/install/template,$(1),applications/luci-ffwizard-leipzig)
253 endef
254
255
256 define Package/luci-app-firewall
257 $(call Package/luci/webtemplate)
258 DEPENDS+=+luci-mod-admin-core
259 TITLE:=Firewall and Portforwarding application
260 endef
261
262 define Package/luci-app-firewall/conffiles
263 /etc/config/luci_fw
264 endef
265
266 define Package/luci-app-firewall/install
267 $(call Package/luci/install/template,$(1),applications/luci-fw)
268 endef
269
270
271 define Package/luci-app-olsr
272 $(call Package/luci/webtemplate)
273 DEPENDS+=+luci-mod-admin-core +olsrd-mod-txtinfo
274 TITLE:=OLSR configuration and status module
275 endef
276
277 define Package/luci-app-olsr/install
278 $(call Package/luci/install/template,$(1),applications/luci-olsr)
279 endef
280
281
282 define Package/luci-app-qos
283 $(call Package/luci/webtemplate)
284 DEPENDS+=+luci-mod-admin-core +qos-scripts
285 TITLE:=Quality of Service configuration module
286 endef
287
288 define Package/luci-app-qos/install
289 $(call Package/luci/install/template,$(1),applications/luci-qos)
290 endef
291
292
293 define Package/luci-app-splash
294 $(call Package/luci/fftemplate)
295 DEPENDS+=+iptables-mod-nat +iptables-mod-ipopt
296 TITLE:=Freifunk DHCP-Splash application
297 endef
298
299 define Package/luci-app-splash/conffiles
300 /etc/config/luci_splash
301 endef
302
303 define Package/luci-app-splash/install
304 $(call Package/luci/install/template,$(1),applications/luci-splash)
305 endef
306
307
308 define Package/luci-app-statistics
309 $(call Package/luci/webtemplate)
310 DEPENDS+=+luci-mod-admin-core +collectd +collectd-mod-rrdtool1 +rrdtool1
311 TITLE:=LuCI Statistics Application
312 endef
313
314 define Package/luci-app-statistics/conffiles
315 /etc/config/luci_statistics
316 endef
317
318 define Package/luci-app-statistics/install
319 $(call Package/luci/install/template,$(1),applications/luci-statistics)
320 endef
321
322
323 ### Server Gateway Interfaces ###
324
325 define Package/luci-sgi-cgi
326 $(call Package/luci/libtemplate)
327 DEPENDS+=+luci-web
328 TITLE:=SGI for CGI
329 endef
330
331 define Package/luci-sgi-cgi/install
332 $(call Package/luci/install/template,$(1),libs/sgi-cgi)
333 endef
334
335 define Package/luci-sgi-webuci
336 $(call Package/luci/libtemplate)
337 DEPENDS+=+luci-web
338 TITLE:=SGI for Webuci
339 endef
340
341 define Package/luci-sgi-webuci/install
342 $(call Package/luci/install/template,$(1),libs/sgi-webuci)
343 endef
344
345 ### Themes ###
346 define Package/luci-theme-fledermaus
347 $(call Package/luci/fftemplate)
348 DEPENDS:=+luci-web
349 TITLE:=Fledermaus Theme
350 endef
351
352 define Package/luci-theme-fledermaus/install
353 $(call Package/luci/install/template,$(1),themes/fledermaus)
354 endef
355
356 define Package/luci-theme-openwrt
357 $(call Package/luci/thtemplate)
358 TITLE:=OpenWRT.org (default)
359 endef
360
361 define Package/luci-theme-openwrt/install
362 $(call Package/luci/install/template,$(1),themes/openwrt.org)
363 endef
364
365 ### Translations ###
366 define Package/luci-i18n-german
367 $(call Package/luci/i18ntemplate)
368 TITLE:=German
369 endef
370
371 define Package/luci-i18n-german/install
372 $(call Package/luci/install/template,$(1),i18n/german)
373 endef
374
375
376 define Package/luci-i18n-english
377 $(call Package/luci/i18ntemplate)
378 TITLE:=English (incomplete)
379 endef
380
381 define Package/luci-i18n-english/install
382 $(call Package/luci/install/template,$(1),i18n/english)
383 endef
384
385
386
387 ### Compile ###
388 ifneq ($(CONFIG_PACKAGE_luci-core),)
389 PKG_SELECTED_MODULES+=libs/core
390 endif
391 ifneq ($(CONFIG_PACKAGE_luci-cbi),)
392 PKG_SELECTED_MODULES+=libs/cbi
393 endif
394 ifneq ($(CONFIG_PACKAGE_luci-fastindex),)
395 PKG_SELECTED_MODULES+=libs/fastindex
396 endif
397 ifneq ($(CONFIG_PACKAGE_luci-http),)
398 PKG_SELECTED_MODULES+=libs/http
399 endif
400 ifneq ($(CONFIG_PACKAGE_luci-uci),)
401 PKG_SELECTED_MODULES+=libs/uci
402 endif
403 ifneq ($(CONFIG_PACKAGE_luci-web),)
404 PKG_SELECTED_MODULES+=libs/web
405 endif
406
407 ifneq ($(CONFIG_PACKAGE_luci-ff-halle),)
408 PKG_SELECTED_MODULES+=applications/community-halle
409 endif
410 ifneq ($(CONFIG_PACKAGE_luci-ff-leipzig),)
411 PKG_SELECTED_MODULES+=applications/community-leipzig
412 endif
413 ifneq ($(CONFIG_PACKAGE_luci-ff-hannover),)
414 PKG_SELECTED_MODULES+=applications/community-hannover
415 endif
416
417 ifneq ($(CONFIG_PACKAGE_luci-mod-admin-core),)
418 PKG_SELECTED_MODULES+=modules/admin-core
419 endif
420 ifneq ($(CONFIG_PACKAGE_luci-mod-freifunk),)
421 PKG_SELECTED_MODULES+=modules/freifunk
422 endif
423
424 ifneq ($(CONFIG_PACKAGE_luci-app-ffwizard-leipzig),)
425 PKG_SELECTED_MODULES+=applications/luci-ffwizard-leipzig
426 endif
427 ifneq ($(CONFIG_PACKAGE_luci-app-firewall),)
428 PKG_SELECTED_MODULES+=applications/luci-fw
429 endif
430 ifneq ($(CONFIG_PACKAGE_luci-app-olsr),)
431 PKG_SELECTED_MODULES+=applications/luci-olsr
432 endif
433 ifneq ($(CONFIG_PACKAGE_luci-app-qos),)
434 PKG_SELECTED_MODULES+=applications/luci-qos
435 endif
436 ifneq ($(CONFIG_PACKAGE_luci-app-splash),)
437 PKG_SELECTED_MODULES+=applications/luci-splash
438 endif
439 ifneq ($(CONFIG_PACKAGE_luci-app-statistics),)
440 PKG_SELECTED_MODULES+=applications/luci-statistics
441 endif
442
443 ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),)
444 PKG_SELECTED_MODULES+=libs/sgi-cgi
445 endif
446 ifneq ($(CONFIG_PACKAGE_luci-sgi-webuci),)
447 PKG_SELECTED_MODULES+=libs/sgi-webuci
448 endif
449
450 ifneq ($(CONFIG_PACKAGE_luci-theme-fledermaus),)
451 PKG_SELECTED_MODULES+=themes/fledermaus
452 endif
453 ifneq ($(CONFIG_PACKAGE_luci-theme-openwrt),)
454 PKG_SELECTED_MODULES+=themes/openwrt.org
455 endif
456
457 ifneq ($(CONFIG_PACKAGE_luci-i18n-german),)
458 PKG_SELECTED_MODULES+=i18n/german
459 endif
460 ifneq ($(CONFIG_PACKAGE_luci-i18n-english),)
461 PKG_SELECTED_MODULES+=i18n/english
462 endif
463
464
465 MAKE_FLAGS += MODULES="$(PKG_SELECTED_MODULES)" LUA_TARGET="$(LUA_TARGET)" CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" LDFLAGS="$(TARGET_LDFLAGS)"
466
467
468 $(eval $(call BuildPackage,luci-core))
469 $(eval $(call BuildPackage,luci-cbi))
470 $(eval $(call BuildPackage,luci-fastindex))
471 $(eval $(call BuildPackage,luci-http))
472 $(eval $(call BuildPackage,luci-uci))
473 $(eval $(call BuildPackage,luci-web))
474
475 $(eval $(call BuildPackage,luci-ff-halle))
476 $(eval $(call BuildPackage,luci-ff-leipzig))
477 $(eval $(call BuildPackage,luci-ff-hannover))
478
479 $(eval $(call BuildPackage,luci-mod-admin-core))
480 $(eval $(call BuildPackage,luci-mod-freifunk))
481
482 $(eval $(call BuildPackage,luci-app-ffwizard-leipzig))
483 $(eval $(call BuildPackage,luci-app-firewall))
484 $(eval $(call BuildPackage,luci-app-olsr))
485 $(eval $(call BuildPackage,luci-app-qos))
486 $(eval $(call BuildPackage,luci-app-splash))
487 $(eval $(call BuildPackage,luci-app-statistics))
488
489 $(eval $(call BuildPackage,luci-sgi-cgi))
490 $(eval $(call BuildPackage,luci-sgi-webuci))
491
492 $(eval $(call BuildPackage,luci-theme-fledermaus))
493 $(eval $(call BuildPackage,luci-theme-openwrt))
494
495 $(eval $(call BuildPackage,luci-i18n-german))
496 $(eval $(call BuildPackage,luci-i18n-english))