contrib/package: remove dependency on remote-update in community package, this preven...
[project/luci.git] / contrib / package / luci / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_BRANCH:=trunk
4
5 ifeq ($(DUMP),)
6   USELOCAL:=$(shell grep luci ../../../.project 2>/dev/null >/dev/null && echo 1)
7 endif
8
9 PKG_NAME:=luci
10 PKG_RELEASE:=1
11
12 ifeq ($(USELOCAL),1)
13   PKG_VERSION:=0.9+svn
14 else
15   PKG_SOURCE_URL:=http://svn.luci.subsignal.org/luci/$(PKG_BRANCH)
16   ifeq ($(DUMP),)
17     PKG_REV:=$(shell LC_ALL=C svn info $(CURDIR) | sed -ne's/^Revision: //p')
18     PKG_VERSION:=0.9+svn$(PKG_REV)
19   endif
20   PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
21   PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
22   PKG_SOURCE_PROTO:=svn
23   PKG_SOURCE_VERSION:=$(PKG_REV)
24 endif
25
26 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
27 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
28
29 LUA_TARGET:=source
30 LUCI_CFLAGS:=
31 PKG_SELECTED_MODULES:=
32
33 ifeq ($(BOARD),brcm-2.4)
34   MAKE_FLAGS += CRAP="1"
35 endif
36
37
38 include $(INCLUDE_DIR)/package.mk
39
40 ifeq ($(USELOCAL),1)
41   define Build/Prepare
42         mkdir -p $(PKG_BUILD_DIR)
43         $(TAR) c -C ../../../ . \
44                 --exclude=.pc --exclude=.svn --exclude=.git \
45                 --exclude='boa-0*' --exclude='*.o' --exclude='*.so' \
46                 --exclude=dist | \
47                         tar x -C $(PKG_BUILD_DIR)/
48   endef
49 endif
50
51 define Build/Configure
52 endef
53
54 ### Templates ###
55
56 define Package/luci/libtemplate
57   SECTION:=luci
58   CATEGORY:=LuCI
59   TITLE:=LuCI - Lua Configuration Interface
60   URL:=http://luci.freifunk-halle.net/
61   MAINTAINER:=Steven Barth <steven-at-midlink-dot-org>
62   SUBMENU:=Libraries
63   DEPENDS:=+luci-core
64 endef
65
66 define Package/luci/fftemplate
67   $(call Package/luci/libtemplate)
68   SUBMENU:=Freifunk
69   DEPENDS:=+luci-mod-freifunk
70 endef
71
72 define Package/luci/i18ntemplate
73   $(call Package/luci/libtemplate)
74   SUBMENU:=Translations
75   DEPENDS:=+luci-web
76 endef
77
78 define Package/luci/thtemplate
79   $(call Package/luci/libtemplate)
80   SUBMENU:=Themes
81   DEPENDS:=+luci-web
82 endef
83
84 define Package/luci/webtemplate
85   $(call Package/luci/libtemplate)
86   SUBMENU:=Components
87 endef
88
89
90 define Package/luci/install/template
91         $(CP) -a $(PKG_BUILD_DIR)/$(2)/dist/* $(1)/ -R
92         $(CP) -a $(PKG_BUILD_DIR)/$(2)/ipkg/* $(1)/CONTROL/ 2>/dev/null || true
93 endef
94
95
96
97 ### Core package ###
98
99 define Package/luci-core
100   $(call Package/luci/libtemplate)
101   DEPENDS:=+lua +luci-nixio
102   TITLE:=LuCI core libraries
103 endef
104
105 define Package/luci-core/install
106         $(call Package/luci/install/template,$(1),libs/core)
107         $(PKG_BUILD_DIR)/build/mkversion.sh $(1)/usr/lib/lua/luci/version.lua \
108                 "OpenWrt Firmware" \
109                 "$(OPENWRTVERSION)" \
110                 "$(PKG_BRANCH)" \
111                 "$(PKG_VERSION)"
112 endef
113
114 define Package/luci-core/config
115        choice
116                prompt "Build Target"
117                default PACKAGE_luci-core_source
118
119        config PACKAGE_luci-core_compile
120                bool "Precompiled"
121
122        config PACKAGE_luci-core_stripped
123                bool "Stripped"
124
125        config PACKAGE_luci-core_source
126                bool "Full Source"
127
128        endchoice
129 endef
130
131 ifneq ($(CONFIG_PACKAGE_luci-core_compile),)
132   LUA_TARGET:=compile
133 endif
134
135 ifneq ($(CONFIG_PACKAGE_luci-core_stripped),)
136   LUA_TARGET:=strip
137 endif
138
139 ifneq ($(CONFIG_PACKAGE_luci-core_zipped),)
140   LUA_TARGET:=gzip
141 endif
142
143
144 ### Libraries ###
145 define Package/luci-cbi
146   $(call Package/luci/libtemplate)
147   DEPENDS+=+luci-web +luci-uvl +luci-uci
148   TITLE:=Configuration Binding Interface
149 endef
150
151 define Package/luci-cbi/install
152         $(call Package/luci/install/template,$(1),libs/cbi)
153 endef
154
155
156 define Package/luci-uci
157   $(call Package/luci/libtemplate)
158   DEPENDS+=+libuci-lua
159   TITLE:=High-Level UCI API
160 endef
161
162 define Package/luci-uci/install
163         $(call Package/luci/install/template,$(1),libs/uci)
164 endef
165
166
167 define Package/luci-fastindex
168   $(call Package/luci/libtemplate)
169   TITLE:=Fastindex indexing module
170 endef
171
172 define Package/luci-fastindex/install
173         $(call Package/luci/install/template,$(1),libs/fastindex)
174 endef
175
176
177 define Package/luci-http
178   $(call Package/luci/libtemplate)
179   TITLE:=HTTP Protocol implementation
180 endef
181
182 define Package/luci-http/install
183         $(call Package/luci/install/template,$(1),libs/http)
184 endef
185
186
187 define Package/luci-httpclient
188   $(call Package/luci/libtemplate)
189   TITLE:=HTTP(S) client library
190   DEPENDS+=+luci-http +luci-nixio
191 endef
192
193 define Package/luci-httpclient/install
194         $(call Package/luci/install/template,$(1),libs/httpclient)
195 endef
196
197
198 define Package/luci-ipkg
199   $(call Package/luci/libtemplate)
200   TITLE:=LuCI IPKG/OPKG call abstraction library
201 endef
202
203 define Package/luci-ipkg/install
204         $(call Package/luci/install/template,$(1),libs/ipkg)
205 endef
206
207
208 define Package/luci-json
209   $(call Package/luci/libtemplate)
210   TITLE:=LuCI JSON Library
211 endef
212
213 define Package/luci-json/install
214         $(call Package/luci/install/template,$(1),libs/json)
215 endef
216
217
218 define Package/luci-lmo
219   $(call Package/luci/libtemplate)
220   TITLE:=lmo
221 endef
222
223 define Package/luci-lmo/install
224         $(call Package/luci/install/template,$(1),libs/lmo)
225 endef
226
227
228 define Package/luci-luanet
229   $(call Package/luci/libtemplate)
230   TITLE:=luanet
231   DEPENDS+=+libiw
232 endef
233
234 define Package/luci-luanet/install
235         $(call Package/luci/install/template,$(1),libs/luanet)
236 endef
237
238
239 define Package/luci-lucid
240   $(call Package/luci/libtemplate)
241   TITLE:=LuCId Superserver
242   DEPENDS+=+luci-nixio +luci-http +luci-px5g
243 endef
244
245 define Package/luci-lucid/install
246         $(call Package/luci/install/template,$(1),libs/lucid)
247         $(call Package/luci/install/template,$(1),libs/lucid-http)
248 endef
249
250
251
252 NIXIO_TLS:=axtls
253
254 define Package/luci-nixio
255   $(call Package/luci/libtemplate)
256   TITLE:=NIXIO POSIX Library
257   DEPENDS:=+PACKAGE_luci-nixio_openssl:libopenssl +PACKAGE_luci-nixio_cyassl:libcyassl-luci
258 endef
259
260 define Package/luci-nixio/install
261         $(call Package/luci/install/template,$(1),libs/nixio)
262 endef
263
264 define Package/luci-nixio/config
265         choice
266                 prompt "TLS Provider"
267                 default PACKAGE_luci-nixio_axtls
268
269                 config PACKAGE_luci-nixio_axtls
270                         bool "Builtin (axTLS)"
271
272                 config PACKAGE_luci-nixio_cyassl
273                         bool "CyaSSL"
274                         select PACKAGE_libcyassl-luci
275
276                 config PACKAGE_luci-nixio_openssl
277                         bool "OpenSSL"
278                         select PACKAGE_libopenssl
279         endchoice
280 endef
281
282 ifneq ($(CONFIG_PACKAGE_luci-nixio_openssl),)
283   NIXIO_TLS:=openssl
284 endif
285
286 ifneq ($(CONFIG_PACKAGE_luci-nixio_cyassl),)
287   NIXIO_TLS:=cyassl
288   LUCI_CFLAGS+=-I$(STAGING_DIR)/usr/include/cyassl
289 endif
290
291
292 define Package/luci-px5g
293   $(call Package/luci/libtemplate)
294   TITLE:=PX5G RSA Keymaster
295   DEPENDS:=+luci-nixio
296 endef
297
298 define Package/luci-px5g/install
299         $(call Package/luci/install/template,$(1),libs/px5g)
300 endef
301
302
303 define Package/luci-sys
304   $(call Package/luci/libtemplate)
305   TITLE:=LuCI Linux/POSIX system library
306 endef
307
308 define Package/luci-sys/install
309         $(call Package/luci/install/template,$(1),libs/sys)
310 endef
311
312
313 define Package/luci-web
314   $(call Package/luci/libtemplate)
315   DEPENDS+=+luci-http +luci-sys +luci-uci +luci-lucid +luci-sgi-cgi +luci-lmo
316   TITLE:=MVC Webframework
317   $(call Config,luci.main.lang,string,en,Default Language)
318 endef
319
320 define Package/luci-web/conffiles
321 /etc/config/luci
322 endef
323
324 define Package/luci-web/install
325         $(call Package/luci/install/template,$(1),libs/web)
326 endef
327
328
329 define Package/luci-uvl
330   $(call Package/luci/libtemplate)
331   DEPENDS+=+luci-sys +luci-uci +luci-core
332   TITLE:=UVL - UCI Validation Layer
333 endef
334
335 define Package/luci-uvl/install
336         $(call Package/luci/install/template,$(1),libs/uvl)
337 endef
338
339
340
341 ### Community Packages ###
342
343 define Package/luci-freifunk-community
344   $(call Package/luci/fftemplate)
345   DEPENDS+= \
346    +luci-lucid +luci-sgi-cgi +luci-app-splash \
347    +luci-app-ffwizard-leipzig \
348    +luci-i18n-german \
349    +PACKAGE_luci-freifunk-community:olsrd-luci +PACKAGE_luci-freifunk-community:olsrd-luci-mod-dyn-gw-plain \
350    +PACKAGE_luci-freifunk-community:olsrd-luci-mod-txtinfo +PACKAGE_luci-freifunk-community:olsrd-luci-mod-nameservice \
351    +PACKAGE_luci-freifunk-community:olsrd-luci-mod-watchdog +PACKAGE_luci-freifunk-community:kmod-tun \
352    +PACKAGE_luci-freifunk-community:ip +PACKAGE_luci-freifunk-community:freifunk-watchdog +luci-app-olsr
353   TITLE:=Freifunk Community Meta-Package
354 endef
355
356 define Package/luci-freifunk-community/install
357         $(call Package/luci/install/template,$(1),applications/freifunk-community)
358 endef
359
360 ### Modules ###
361
362 define Package/luci-admin-core
363   $(call Package/luci/webtemplate)
364   DEPENDS+=+luci-web +luci-cbi +luci-i18n-english
365   TITLE:=Web UI Core Module
366 endef
367
368 define Package/luci-admin-core/conffiles
369 /etc/config/luci_hosts
370 /etc/config/luci_ethers
371 endef
372
373 define Package/luci-admin-core/install
374         $(call Package/luci/install/template,$(1),modules/admin-core)
375         touch $(1)/etc/init.d/luci_fixtime || true
376 endef
377
378
379 define Package/luci-admin-mini
380   $(call Package/luci/webtemplate)
381   DEPENDS+=+luci-admin-core
382   TITLE:=LuCI Essentials - stripped down and user-friendly
383 endef
384
385 define Package/luci-admin-mini/install
386         $(call Package/luci/install/template,$(1),modules/admin-mini)
387 endef
388
389
390 define Package/luci-admin-full
391   $(call Package/luci/webtemplate)
392   DEPENDS+=+luci-admin-core +luci-ipkg
393   TITLE:=LuCI Administration - full-featured for full control
394 endef
395
396 define Package/luci-admin-full/install
397         $(call Package/luci/install/template,$(1),modules/admin-full)
398 endef
399
400
401 define Package/luci-admin-rpc
402   $(call Package/luci/webtemplate)
403   DEPENDS+=+luci-json
404   TITLE:=LuCI RPC - JSON-RPC API
405 endef
406
407 define Package/luci-admin-rpc/install
408         $(call Package/luci/install/template,$(1),modules/rpc)
409 endef
410
411
412 define Package/luci-mod-freifunk
413   $(call Package/luci/fftemplate)
414   DEPENDS:=+luci-admin-full +luci-json +PACKAGE_luci-mod-freifunk:freifunk-firewall
415   TITLE:=LuCI Freifunk module
416 endef
417
418 define Package/luci-mod-freifunk/conffiles
419 /etc/config/freifunk
420 endef
421
422 define Package/luci-mod-freifunk/install
423         $(call Package/luci/install/template,$(1),modules/freifunk)
424 endef
425
426
427
428 ### Applications ###
429
430 define Package/luci-app-ffwizard-leipzig
431   $(call Package/luci/fftemplate)
432   TITLE:=Freifunk Leipzig configuration wizard
433 endef
434
435 define Package/luci-app-ffwizard-leipzig/install
436         $(call Package/luci/install/template,$(1),applications/luci-ffwizard-leipzig)
437 endef
438
439
440 define Package/luci-app-siitwizard
441   $(call Package/luci/fftemplate)
442   TITLE:=SIIT IPv4-over-IPv6 configuration wizard
443   DEPENDS:=+luci-admin-core +PACKAGE_luci-app-siitwizard:kmod-siit
444 endef
445
446 define Package/luci-app-siitwizard/install
447         $(call Package/luci/install/template,$(1),applications/luci-siitwizard)
448 endef
449
450
451 define Package/luci-app-firewall
452   $(call Package/luci/webtemplate)
453   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-firewall:firewall
454   TITLE:=Firewall and Portforwarding application
455 endef
456
457 define Package/luci-app-firewall/install
458         $(call Package/luci/install/template,$(1),applications/luci-fw)
459 endef
460
461
462 define Package/luci-app-olsr
463   $(call Package/luci/webtemplate)
464   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-olsr:olsrd-luci \
465    +PACKAGE_luci-app-olsr:olsrd-luci-mod-txtinfo
466   TITLE:=OLSR configuration and status module
467 endef
468
469 define Package/luci-app-olsr/install
470         $(call Package/luci/install/template,$(1),applications/luci-olsr)
471 endef
472
473
474 define Package/luci-app-qos
475   $(call Package/luci/webtemplate)
476   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-qos:qos-scripts
477   TITLE:=Quality of Service configuration module
478 endef
479
480 define Package/luci-app-qos/install
481         $(call Package/luci/install/template,$(1),applications/luci-qos)
482 endef
483
484
485 define Package/luci-app-splash
486   $(call Package/luci/fftemplate)
487   DEPENDS+=+PACKAGE_luci-app-splash:luci-nixio \
488    +PACKAGE_luci-app-splash:tc +PACKAGE_luci-app-splash:kmod-sched \
489    +PACKAGE_luci-app-splash:iptables-mod-nat-extra \
490    +PACKAGE_luci-app-splash:iptables-mod-ipopt
491   TITLE:=Freifunk DHCP-Splash application
492 endef
493
494 define Package/luci-app-splash/conffiles
495 /etc/config/luci_splash
496 endef
497
498 define Package/luci-app-splash/install
499         $(call Package/luci/install/template,$(1),applications/luci-splash)
500 endef
501
502
503 define Package/luci-app-statistics
504   $(call Package/luci/webtemplate)
505   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-statistics:collectd \
506    +PACKAGE_luci-app-statistics:rrdtool1 \
507    +PACKAGE_luci-app-statistics:collectd-mod-rrdtool1 \
508    +PACKAGE_luci-app-statistics:collectd-mod-wireless \
509    +PACKAGE_luci-app-statistics:collectd-mod-interface \
510    +PACKAGE_luci-app-statistics:collectd-mod-load
511   TITLE:=LuCI Statistics Application
512 endef
513
514 define Package/luci-app-statistics/conffiles
515 /etc/config/luci_statistics
516 endef
517
518 define Package/luci-app-statistics/install
519         $(call Package/luci/install/template,$(1),applications/luci-statistics)
520 endef
521
522 define Package/luci-app-diag-core
523   $(call Package/luci/webtemplate)
524   DEPENDS+=+luci-admin-core 
525   TITLE:=LuCI Diagnostics Tools (Core)
526 endef
527
528 define Package/luci-app-diag-devinfo
529   $(call Package/luci/webtemplate)
530   DEPENDS+=+luci-app-diag-core +smap +netdiscover +mac-to-devinfo +httping +smap-to-devinfo +netdiscover-to-devinfo
531   TITLE:=LuCI Diagnostics Tools (Device Info)
532 endef
533
534 define Package/luci-app-voice-core
535   $(call Package/luci/webtemplate)
536   DEPENDS+=+luci-admin-core 
537   TITLE:=LuCI Voice Software (Core)
538 endef
539
540 define Package/luci-app-voice-diag
541   $(call Package/luci/webtemplate)
542   DEPENDS+=+luci-app-voice-core +luci-app-diag-devinfo
543   TITLE:=LuCI Voice Software (Diagnostics)
544 endef
545
546 define Package/luci-app-diag-devinfo/conffiles
547 /etc/config/luci_devinfo
548 endef
549
550 define Package/luci-app-diag-core/install
551         $(call Package/luci/install/template,$(1),applications/luci-diag-core)
552 endef
553
554 define Package/luci-app-diag-devinfo/install
555         $(call Package/luci/install/template,$(1),applications/luci-diag-devinfo)
556 endef
557
558 define Package/luci-app-voice-core/install
559         $(call Package/luci/install/template,$(1),applications/luci-voice-core)
560 endef
561
562 define Package/luci-app-voice-diag/install
563         $(call Package/luci/install/template,$(1),applications/luci-voice-diag)
564 endef
565
566 define Package/luci-app-upnp
567   $(call Package/luci/webtemplate)
568   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-upnp:miniupnpd
569   TITLE:=Universal Plug & Play configuration module
570 endef
571
572 define Package/luci-app-upnp/install
573         $(call Package/luci/install/template,$(1),applications/luci-upnp)
574 endef
575
576
577 define Package/luci-app-ntpc
578   $(call Package/luci/webtemplate)
579   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-ntpc:ntpclient
580   TITLE:=NTP time synchronisation client configuration module
581 endef
582
583 define Package/luci-app-ntpc/install
584         $(call Package/luci/install/template,$(1),applications/luci-ntpc)
585 endef
586
587
588 define Package/luci-app-ddns
589   $(call Package/luci/webtemplate)
590   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-ddns:ddns-scripts
591   TITLE:=Dynamic DNS configuration module
592 endef
593
594 define Package/luci-app-ddns/install
595         $(call Package/luci/install/template,$(1),applications/luci-ddns)
596 endef
597
598
599 define Package/luci-app-samba
600   $(call Package/luci/webtemplate)
601   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-samba:samba3
602   TITLE:=Network Shares - Samba SMB/CIFS module
603 endef
604
605 define Package/luci-app-samba/install
606         $(call Package/luci/install/template,$(1),applications/luci-samba)
607 endef
608
609
610 define Package/luci-app-uvc_streamer
611   $(call Package/luci/webtemplate)
612   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-uvc_streamer:uvc-streamer
613   TITLE:=Webcam Streaming - UVC-Streamer module
614 endef
615
616 define Package/luci-app-uvc_streamer/install
617         $(call Package/luci/install/template,$(1),applications/luci-uvc_streamer)
618 endef
619
620
621 define Package/luci-app-mmc_over_gpio
622   $(call Package/luci/webtemplate)
623   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-mmc_over_gpio:kmod-mmc-over-gpio
624   TITLE:=mmc_over_gpio
625 endef
626
627 define Package/luci-app-mmc_over_gpio/install
628         $(call Package/luci/install/template,$(1),applications/luci-mmc_over_gpio)
629 endef
630
631
632 define Package/luci-app-p910nd
633   $(call Package/luci/webtemplate)
634   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-p910nd:p910nd
635   TITLE:=p910nd - Printer server module
636 endef
637
638 define Package/luci-app-p910nd/install
639         $(call Package/luci/install/template,$(1),applications/luci-p910nd)
640 endef
641
642
643 define Package/luci-app-ushare
644   $(call Package/luci/webtemplate)
645   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-ushare:ushare
646   TITLE:=ushare - UPnP A/V & DLNA Media Server
647 endef
648
649 define Package/luci-app-ushare/install
650         $(call Package/luci/install/template,$(1),applications/luci-ushare)
651 endef
652
653 define Package/luci-app-hd_idle
654   $(call Package/luci/webtemplate)
655   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-hd_idle:hd-idle
656   TITLE:=hd-idle
657 endef
658
659 define Package/luci-app-hd_idle/install
660         $(call Package/luci/install/template,$(1),applications/luci-hd_idle)
661 endef
662
663 define Package/luci-app-tinyproxy
664   $(call Package/luci/webtemplate)
665   DEPENDS+=+luci-admin-full +PACKAGE_luci-app-tinyproxy:tinyproxy
666   TITLE:=Tinyproxy - HTTP(S)-Proxy
667 endef
668
669 define Package/luci-app-tinyproxy/install
670         $(call Package/luci/install/template,$(1),applications/luci-tinyproxy)
671 endef
672
673 define Package/luci-app-initmgr
674   $(call Package/luci/webtemplate)
675   DEPENDS+=+luci-admin-full
676   TITLE:=LuCI Initscript Management
677 endef
678
679 define Package/luci-app-initmgr/install
680         $(call Package/luci/install/template,$(1),applications/luci-initmgr)
681 endef
682
683 define Package/luci-app-livestats
684   $(call Package/luci/webtemplate)
685   DEPENDS+=+luci-admin-core +luci-admin-rpc
686   TITLE:=LuCI Realtime Statistics
687 endef
688
689 define Package/luci-app-livestats/install
690         $(call Package/luci/install/template,$(1),applications/luci-livestats)
691 endef
692
693 define Package/luci-app-asterisk
694   $(call Package/luci/webtemplate)
695   TITLE:=LuCI Support for Asterisk PBX
696   DEPENDS+=@BROKEN +luci-admin-core +PACKAGE_luci-app-asterisk:asterisk14-xip-core
697 endef
698
699 define Package/luci-app-asterisk/install
700         $(call Package/luci/install/template,$(1),applications/luci-asterisk)
701 endef
702
703 define Package/luci-app-polipo
704   $(call Package/luci/webtemplate)
705   TITLE:=LuCI Support for the Polipo Proxy
706   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-polipo:polipo
707 endef
708
709 define Package/luci-app-polipo/install
710         $(call Package/luci/install/template,$(1),applications/luci-polipo)
711 endef
712
713 define Package/luci-app-openvpn
714   $(call Package/luci/webtemplate)
715   TITLE:=LuCI Support for OpenVPN
716   DEPENDS+=+luci-admin-core +PACKAGE_luci-app-openvpn:openvpn
717 endef
718
719 define Package/luci-app-openvpn/install
720         $(call Package/luci/install/template,$(1),applications/luci-openvpn)
721 endef
722
723 define Package/luci-app-p2pblock
724   $(call Package/luci/webtemplate)
725   TITLE:=LuCI Support for the Freifunk P2P-Block addon
726   DEPENDS+=+luci-admin-core +luci-app-firewall \
727     +PACKAGE_luci-app-p2pblock:freifunk-p2pblock
728 endef
729
730 define Package/luci-app-p2pblock/install
731         $(call Package/luci/install/template,$(1),applications/luci-p2pblock)
732 endef
733
734
735 ### Server Gateway Interfaces ###
736
737 define Package/luci-sgi-cgi
738   $(call Package/luci/libtemplate)
739   TITLE:=SGI for CGI
740 endef
741
742 define Package/luci-sgi-cgi/install
743         $(call Package/luci/install/template,$(1),libs/sgi-cgi)
744 endef
745
746 ### Themes ###
747 define Package/luci-theme-base
748   $(call Package/luci/thtemplate)
749   DEPENDS:=+luci-web
750   TITLE:=Common base for all themes
751 endef
752
753 define Package/luci-theme-base/install
754         $(call Package/luci/install/template,$(1),themes/base)
755 endef
756
757 define Package/luci-theme-fledermaus
758   $(call Package/luci/fftemplate)
759   DEPENDS:=+luci-web
760   TITLE:=Fledermaus Theme
761 endef
762
763 define Package/luci-theme-fledermaus/install
764         $(call Package/luci/install/template,$(1),themes/fledermaus)
765 endef
766
767 define Package/luci-theme-freifunk
768   $(call Package/luci/fftemplate)
769   DEPENDS:=+luci-web
770   MAINTAINER:=Stefan Pirwitz <stefan-at-freifunk-bno-dot-de>
771   TITLE:=alternative Freifunk Theme
772 endef
773
774 define Package/luci-theme-freifunk/install
775         $(call Package/luci/install/template,$(1),themes/freifunk)
776 endef
777
778 define Package/luci-theme-freifunk-bno
779   $(call Package/luci/fftemplate)
780   DEPENDS:=+luci-web
781   MAINTAINER:=Stefan Pirwitz <stefan-at-freifunk-bno-dot-de>
782   TITLE:=Freifunk Berlin Nordost Theme
783 endef
784
785 define Package/luci-theme-freifunk-bno/install
786         $(call Package/luci/install/template,$(1),themes/freifunk-bno)
787 endef
788
789 define Package/luci-theme-freifunk-hannover
790   $(call Package/luci/fftemplate)
791   DEPENDS:=+luci-web
792   MAINTAINER:=Mikolas Bingemer <mickey-at-freifunk-hannover-dot-de>
793   TITLE:=Freifunk Hannover Theme
794 endef
795
796 define Package/luci-theme-freifunk-hannover/install
797         $(call Package/luci/install/template,$(1),themes/freifunk-hannover)
798 endef
799
800 define Package/luci-theme-openwrt
801   $(call Package/luci/thtemplate)
802   TITLE:=OpenWrt.org (default)
803   DEPENDS:=+luci-theme-base luci-core
804   DEFAULT:=y if PACKAGE_luci-core
805 endef
806
807 define Package/luci-theme-openwrt/install
808         $(call Package/luci/install/template,$(1),themes/openwrt.org)
809 endef
810
811 define Package/luci-theme-openwrtlight
812   $(call Package/luci/thtemplate)
813   TITLE:=OpenWrt.org - light variant without images
814   DEPENDS:=+luci-theme-base
815 endef
816
817 define Package/luci-theme-openwrtlight/install
818         $(call Package/luci/install/template,$(1),themes/openwrt-light)
819 endef
820
821
822 ### Translations ###
823 define Package/luci-i18n-german
824   $(call Package/luci/i18ntemplate)
825   TITLE:=German
826 endef
827
828 define Package/luci-i18n-german/install
829         $(call Package/luci/install/template,$(1),i18n/german)
830 endef
831
832
833 define Package/luci-i18n-english
834   $(call Package/luci/i18ntemplate)
835   TITLE:=English
836 endef
837
838 define Package/luci-i18n-english/install
839         $(call Package/luci/install/template,$(1),i18n/english)
840 endef
841
842
843 define Package/luci-i18n-french
844   $(call Package/luci/i18ntemplate)
845   TITLE:=French (by Florian Fainelli)
846 endef
847
848 define Package/luci-i18n-french/install
849         $(call Package/luci/install/template,$(1),i18n/french)
850 endef
851
852
853 define Package/luci-i18n-italian
854   $(call Package/luci/i18ntemplate)
855   TITLE:=Italian (by Matteo Croce)
856 endef
857
858 define Package/luci-i18n-italian/install
859         $(call Package/luci/install/template,$(1),i18n/italian)
860 endef
861
862
863 define Package/luci-i18n-russian
864   $(call Package/luci/i18ntemplate)
865   TITLE:=Russian (by Skryabin Dmitry)
866 endef
867
868 define Package/luci-i18n-russian/install
869         $(call Package/luci/install/template,$(1),i18n/russian)
870 endef
871
872
873 define Package/luci-i18n-portuguese_brazilian
874   $(call Package/luci/i18ntemplate)
875   TITLE:=Portuguese (Brazilian) (by Carlos Cesario)
876 endef
877
878 define Package/luci-i18n-portuguese_brazilian/install
879         $(call Package/luci/install/template,$(1),i18n/portuguese_brazilian)
880 endef
881
882
883 define Package/luci-i18n-japanese
884   $(call Package/luci/i18ntemplate)
885   TITLE:=Japanese (by Tsukasa Hamano)
886 endef
887
888 define Package/luci-i18n-japanese/install
889         $(call Package/luci/install/template,$(1),i18n/japanese)
890 endef
891
892
893 define Package/luci-i18n-greek
894   $(call Package/luci/i18ntemplate)
895   TITLE:=Greek (by Vasilis Tsiligiannis)
896 endef
897
898 define Package/luci-i18n-greek/install
899         $(call Package/luci/install/template,$(1),i18n/greek)
900 endef
901
902
903 define Package/luci-i18n-catalan
904   $(call Package/luci/i18ntemplate)
905   TITLE:=Catalan (by Eduard Duran)
906 endef
907
908 define Package/luci-i18n-catalan/install
909         $(call Package/luci/install/template,$(1),i18n/catalan)
910 endef
911
912
913 define Package/luci-i18n-portuguese
914   $(call Package/luci/i18ntemplate)
915   TITLE:=Portuguese (by Jose Monteiro)
916 endef
917
918 define Package/luci-i18n-portuguese/install
919         $(call Package/luci/install/template,$(1),i18n/portuguese)
920 endef
921
922
923 define Package/luci-i18n-spanish
924   $(call Package/luci/i18ntemplate)
925   TITLE:=Spanish (by Guillermo Javier Nardoni)
926 endef
927
928 define Package/luci-i18n-spanish/install
929         $(call Package/luci/install/template,$(1),i18n/spanish)
930 endef
931
932
933 ### Compile ###
934 ifneq ($(CONFIG_PACKAGE_luci-core),)
935         PKG_SELECTED_MODULES+=libs/core
936 endif
937 ifneq ($(CONFIG_PACKAGE_luci-cbi),)
938         PKG_SELECTED_MODULES+=libs/cbi
939 endif
940 ifneq ($(CONFIG_PACKAGE_luci-fastindex),)
941         PKG_SELECTED_MODULES+=libs/fastindex
942 endif
943 ifneq ($(CONFIG_PACKAGE_luci-http),)
944         PKG_SELECTED_MODULES+=libs/http
945 endif
946 ifneq ($(CONFIG_PACKAGE_luci-httpclient),)
947         PKG_SELECTED_MODULES+=libs/httpclient
948 endif
949 ifneq ($(CONFIG_PACKAGE_luci-ipkg),)
950         PKG_SELECTED_MODULES+=libs/ipkg
951 endif
952 ifneq ($(CONFIG_PACKAGE_luci-json),)
953         PKG_SELECTED_MODULES+=libs/json
954 endif
955 ifneq ($(CONFIG_PACKAGE_luci-lmo),)
956         PKG_SELECTED_MODULES+=libs/lmo
957 endif
958 ifneq ($(CONFIG_PACKAGE_luci-luanet),)
959         PKG_SELECTED_MODULES+=libs/luanet
960 endif
961 ifneq ($(CONFIG_PACKAGE_luci-lucid),)
962         PKG_SELECTED_MODULES+=libs/lucid libs/lucid-http
963 endif
964 ifneq ($(CONFIG_PACKAGE_luci-nixio),)
965         PKG_SELECTED_MODULES+=libs/nixio
966 endif
967 ifneq ($(CONFIG_PACKAGE_luci-px5g),)
968         PKG_SELECTED_MODULES+=libs/px5g
969 endif
970 ifneq ($(CONFIG_PACKAGE_luci-uci),)
971         PKG_SELECTED_MODULES+=libs/uci
972 endif
973 ifneq ($(CONFIG_PACKAGE_luci-sys),)
974         PKG_SELECTED_MODULES+=libs/sys
975 endif
976 ifneq ($(CONFIG_PACKAGE_luci-web),)
977         PKG_SELECTED_MODULES+=libs/web
978 endif
979 ifneq ($(CONFIG_PACKAGE_luci-uvl),)
980         PKG_SELECTED_MODULES+=libs/uvl
981 endif
982
983 ifneq ($(CONFIG_PACKAGE_luci-admin-core),)
984         PKG_SELECTED_MODULES+=modules/admin-core
985 endif
986 ifneq ($(CONFIG_PACKAGE_luci-admin-mini),)
987         PKG_SELECTED_MODULES+=modules/admin-mini
988 endif
989 ifneq ($(CONFIG_PACKAGE_luci-admin-full),)
990         PKG_SELECTED_MODULES+=modules/admin-full
991 endif
992 ifneq ($(CONFIG_PACKAGE_luci-admin-rpc),)
993         PKG_SELECTED_MODULES+=modules/rpc
994 endif
995 ifneq ($(CONFIG_PACKAGE_luci-mod-freifunk),)
996         PKG_SELECTED_MODULES+=modules/freifunk
997 endif
998
999 ifneq ($(CONFIG_PACKAGE_luci-freifunk-community),)
1000         PKG_SELECTED_MODULES+=applications/freifunk-community
1001 endif
1002
1003 ifneq ($(CONFIG_PACKAGE_luci-app-ffwizard-leipzig),)
1004         PKG_SELECTED_MODULES+=applications/luci-ffwizard-leipzig
1005 endif
1006 ifneq ($(CONFIG_PACKAGE_luci-app-siitwizard),)
1007         PKG_SELECTED_MODULES+=applications/luci-siitwizard
1008 endif
1009 ifneq ($(CONFIG_PACKAGE_luci-app-firewall),)
1010         PKG_SELECTED_MODULES+=applications/luci-fw
1011 endif
1012 ifneq ($(CONFIG_PACKAGE_luci-app-olsr),)
1013         PKG_SELECTED_MODULES+=applications/luci-olsr
1014 endif
1015 ifneq ($(CONFIG_PACKAGE_luci-app-qos),)
1016         PKG_SELECTED_MODULES+=applications/luci-qos
1017 endif
1018 ifneq ($(CONFIG_PACKAGE_luci-app-splash),)
1019         PKG_SELECTED_MODULES+=applications/luci-splash
1020 endif
1021 ifneq ($(CONFIG_PACKAGE_luci-app-statistics),)
1022         PKG_SELECTED_MODULES+=applications/luci-statistics
1023 endif
1024 ifneq ($(CONFIG_PACKAGE_luci-app-voice-core),)
1025         PKG_SELECTED_MODULES+=applications/luci-voice-core
1026 endif
1027 ifneq ($(CONFIG_PACKAGE_luci-app-voice-diag),)
1028         PKG_SELECTED_MODULES+=applications/luci-voice-diag
1029 endif
1030 ifneq ($(CONFIG_PACKAGE_luci-app-diag-core),)
1031         PKG_SELECTED_MODULES+=applications/luci-diag-core
1032 endif
1033 ifneq ($(CONFIG_PACKAGE_luci-app-diag-devinfo),)
1034         PKG_SELECTED_MODULES+=applications/luci-diag-devinfo
1035 endif
1036 ifneq ($(CONFIG_PACKAGE_luci-app-upnp),)
1037         PKG_SELECTED_MODULES+=applications/luci-upnp
1038 endif
1039 ifneq ($(CONFIG_PACKAGE_luci-app-ntpc),)
1040         PKG_SELECTED_MODULES+=applications/luci-ntpc
1041 endif
1042 ifneq ($(CONFIG_PACKAGE_luci-app-ddns),)
1043         PKG_SELECTED_MODULES+=applications/luci-ddns
1044 endif
1045 ifneq ($(CONFIG_PACKAGE_luci-app-samba),)
1046         PKG_SELECTED_MODULES+=applications/luci-samba
1047 endif
1048 ifneq ($(CONFIG_PACKAGE_luci-app-uvc_streamer),)
1049         PKG_SELECTED_MODULES+=applications/luci-uvc_streamer
1050 endif
1051 ifneq ($(CONFIG_PACKAGE_luci-app-mmc_over_gpio),)
1052         PKG_SELECTED_MODULES+=applications/luci-mmc_over_gpio
1053 endif
1054 ifneq ($(CONFIG_PACKAGE_luci-app-p910nd),)
1055         PKG_SELECTED_MODULES+=applications/luci-p910nd
1056 endif
1057 ifneq ($(CONFIG_PACKAGE_luci-app-ushare),)
1058         PKG_SELECTED_MODULES+=applications/luci-ushare
1059 endif
1060 ifneq ($(CONFIG_PACKAGE_luci-app-hd_idle),)
1061        PKG_SELECTED_MODULES+=applications/luci-hd_idle
1062 endif
1063 ifneq ($(CONFIG_PACKAGE_luci-app-tinyproxy),)
1064        PKG_SELECTED_MODULES+=applications/luci-tinyproxy
1065 endif
1066 ifneq ($(CONFIG_PACKAGE_luci-app-initmgr),)
1067        PKG_SELECTED_MODULES+=applications/luci-initmgr
1068 endif
1069 ifneq ($(CONFIG_PACKAGE_luci-app-livestats),)
1070        PKG_SELECTED_MODULES+=applications/luci-livestats
1071 endif
1072 ifneq ($(CONFIG_PACKAGE_luci-app-asterisk),)
1073        PKG_SELECTED_MODULES+=applications/luci-asterisk
1074 endif
1075 ifneq ($(CONFIG_PACKAGE_luci-app-polipo),)
1076        PKG_SELECTED_MODULES+=applications/luci-polipo
1077 endif
1078 ifneq ($(CONFIG_PACKAGE_luci-app-openvpn),)
1079        PKG_SELECTED_MODULES+=applications/luci-openvpn
1080 endif
1081 ifneq ($(CONFIG_PACKAGE_luci-app-p2pblock),)
1082        PKG_SELECTED_MODULES+=applications/luci-p2pblock
1083 endif
1084
1085
1086 ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),)
1087         PKG_SELECTED_MODULES+=libs/sgi-cgi
1088 endif
1089 ifneq ($(CONFIG_PACKAGE_luci-sgi-luci),)
1090         PKG_SELECTED_MODULES+=libs/sgi-luci
1091 endif
1092
1093 ifneq ($(CONFIG_PACKAGE_luci-theme-base),)
1094         PKG_SELECTED_MODULES+=themes/base
1095 endif
1096 ifneq ($(CONFIG_PACKAGE_luci-theme-fledermaus),)
1097         PKG_SELECTED_MODULES+=themes/fledermaus
1098 endif
1099 ifneq ($(CONFIG_PACKAGE_luci-theme-freifunk-bno),)
1100         PKG_SELECTED_MODULES+=themes/freifunk-bno
1101 endif
1102 ifneq ($(CONFIG_PACKAGE_luci-theme-freifunk-hannover),)
1103         PKG_SELECTED_MODULES+=themes/freifunk-hannover
1104 endif
1105 ifneq ($(CONFIG_PACKAGE_luci-theme-freifunk),)
1106         PKG_SELECTED_MODULES+=themes/freifunk
1107 endif
1108 ifneq ($(CONFIG_PACKAGE_luci-theme-openwrt),)
1109         PKG_SELECTED_MODULES+=themes/openwrt.org
1110 endif
1111 ifneq ($(CONFIG_PACKAGE_luci-theme-openwrtlight),)
1112         PKG_SELECTED_MODULES+=themes/openwrt-light
1113 endif
1114
1115 ifneq ($(CONFIG_PACKAGE_luci-i18n-german),)
1116         PKG_SELECTED_MODULES+=i18n/german
1117 endif
1118 ifneq ($(CONFIG_PACKAGE_luci-i18n-english),)
1119         PKG_SELECTED_MODULES+=i18n/english
1120 endif
1121 ifneq ($(CONFIG_PACKAGE_luci-i18n-french),)
1122         PKG_SELECTED_MODULES+=i18n/french
1123 endif
1124 ifneq ($(CONFIG_PACKAGE_luci-i18n-italian),)
1125         PKG_SELECTED_MODULES+=i18n/italian
1126 endif
1127 ifneq ($(CONFIG_PACKAGE_luci-i18n-russian),)
1128         PKG_SELECTED_MODULES+=i18n/russian
1129 endif
1130 ifneq ($(CONFIG_PACKAGE_luci-i18n-portuguese_brazilian),)
1131         PKG_SELECTED_MODULES+=i18n/portuguese_brazilian
1132 endif
1133 ifneq ($(CONFIG_PACKAGE_luci-i18n-japanese),)
1134         PKG_SELECTED_MODULES+=i18n/japanese
1135 endif
1136 ifneq ($(CONFIG_PACKAGE_luci-i18n-greek),)
1137         PKG_SELECTED_MODULES+=i18n/greek
1138 endif
1139 ifneq ($(CONFIG_PACKAGE_luci-i18n-catalan),)
1140         PKG_SELECTED_MODULES+=i18n/catalan
1141 endif
1142 ifneq ($(CONFIG_PACKAGE_luci-i18n-portuguese),)
1143         PKG_SELECTED_MODULES+=i18n/portuguese
1144 endif
1145 ifneq ($(CONFIG_PACKAGE_luci-i18n-spanish),)
1146         PKG_SELECTED_MODULES+=i18n/spanish
1147 endif
1148
1149
1150 MAKE_FLAGS += \
1151         MODULES="$(PKG_SELECTED_MODULES)" \
1152         LUA_TARGET="$(LUA_TARGET)" \
1153         LUA_SHLIBS="-llua -lm -ldl -lcrypt" \
1154         CFLAGS="$(TARGET_CFLAGS) $(LUCI_CFLAGS) -I$(STAGING_DIR)/usr/include" \
1155         LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib" \
1156         NIXIO_TLS="$(NIXIO_TLS)" OS="Linux"
1157
1158
1159 $(eval $(call BuildPackage,luci-core))
1160 $(eval $(call BuildPackage,luci-cbi))
1161 $(eval $(call BuildPackage,luci-fastindex))
1162 $(eval $(call BuildPackage,luci-http))
1163 $(eval $(call BuildPackage,luci-httpclient))
1164 $(eval $(call BuildPackage,luci-ipkg))
1165 $(eval $(call BuildPackage,luci-json))
1166 $(eval $(call BuildPackage,luci-lmo))
1167 $(eval $(call BuildPackage,luci-luanet))
1168 $(eval $(call BuildPackage,luci-lucid))
1169 $(eval $(call BuildPackage,luci-nixio))
1170 $(eval $(call BuildPackage,luci-px5g))
1171 $(eval $(call BuildPackage,luci-uci))
1172 $(eval $(call BuildPackage,luci-sys))
1173 $(eval $(call BuildPackage,luci-web))
1174 $(eval $(call BuildPackage,luci-uvl))
1175
1176 $(eval $(call BuildPackage,luci-admin-core))
1177 $(eval $(call BuildPackage,luci-admin-mini))
1178 $(eval $(call BuildPackage,luci-admin-full))
1179 $(eval $(call BuildPackage,luci-admin-rpc))
1180 $(eval $(call BuildPackage,luci-mod-freifunk))
1181
1182 $(eval $(call BuildPackage,luci-freifunk-community))
1183
1184 $(eval $(call BuildPackage,luci-app-ffwizard-leipzig))
1185 $(eval $(call BuildPackage,luci-app-siitwizard))
1186 $(eval $(call BuildPackage,luci-app-firewall))
1187 $(eval $(call BuildPackage,luci-app-olsr))
1188 $(eval $(call BuildPackage,luci-app-qos))
1189 $(eval $(call BuildPackage,luci-app-splash))
1190 $(eval $(call BuildPackage,luci-app-statistics))
1191 $(eval $(call BuildPackage,luci-app-diag-core))
1192 $(eval $(call BuildPackage,luci-app-diag-devinfo))
1193 $(eval $(call BuildPackage,luci-app-voice-core))
1194 $(eval $(call BuildPackage,luci-app-voice-diag))
1195 $(eval $(call BuildPackage,luci-app-upnp))
1196 $(eval $(call BuildPackage,luci-app-ntpc))
1197 $(eval $(call BuildPackage,luci-app-ddns))
1198 $(eval $(call BuildPackage,luci-app-samba))
1199 $(eval $(call BuildPackage,luci-app-uvc_streamer))
1200 $(eval $(call BuildPackage,luci-app-mmc_over_gpio))
1201 $(eval $(call BuildPackage,luci-app-p910nd))
1202 $(eval $(call BuildPackage,luci-app-ushare))
1203 $(eval $(call BuildPackage,luci-app-hd_idle))
1204 $(eval $(call BuildPackage,luci-app-tinyproxy))
1205 $(eval $(call BuildPackage,luci-app-initmgr))
1206 $(eval $(call BuildPackage,luci-app-livestats))
1207 $(eval $(call BuildPackage,luci-app-asterisk))
1208 $(eval $(call BuildPackage,luci-app-polipo))
1209 $(eval $(call BuildPackage,luci-app-openvpn))
1210 $(eval $(call BuildPackage,luci-app-p2pblock))
1211
1212 $(eval $(call BuildPackage,luci-sgi-cgi))
1213
1214 $(eval $(call BuildPackage,luci-theme-base))
1215 $(eval $(call BuildPackage,luci-theme-fledermaus))
1216 $(eval $(call BuildPackage,luci-theme-freifunk))
1217 $(eval $(call BuildPackage,luci-theme-freifunk-bno))
1218 $(eval $(call BuildPackage,luci-theme-freifunk-hannover))
1219 $(eval $(call BuildPackage,luci-theme-openwrt))
1220 $(eval $(call BuildPackage,luci-theme-openwrtlight))
1221
1222 $(eval $(call BuildPackage,luci-i18n-german))
1223 $(eval $(call BuildPackage,luci-i18n-english))
1224 $(eval $(call BuildPackage,luci-i18n-french))
1225 $(eval $(call BuildPackage,luci-i18n-italian))
1226 $(eval $(call BuildPackage,luci-i18n-russian))
1227 $(eval $(call BuildPackage,luci-i18n-portuguese_brazilian))
1228 $(eval $(call BuildPackage,luci-i18n-japanese))
1229 $(eval $(call BuildPackage,luci-i18n-greek))
1230 $(eval $(call BuildPackage,luci-i18n-catalan))
1231 $(eval $(call BuildPackage,luci-i18n-portuguese))
1232 $(eval $(call BuildPackage,luci-i18n-spanish))