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