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