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