1 include $(TOPDIR)/rules.mk
3 PKG_BRANCH:=branches/luci-0.8
6 USELOCAL:=$(shell grep luci ../../../.project 2>/dev/null >/dev/null && echo 1)
15 PKG_SOURCE_URL:=http://svn.luci.subsignal.org/luci/$(PKG_BRANCH)
20 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
21 PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
23 PKG_SOURCE_VERSION:=$(PKG_REV)
26 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
27 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
29 PKG_BUILD_DEPENDS:=libnotimpl
31 PKG_SELECTED_MODULES:=
34 include $(INCLUDE_DIR)/package.mk
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' \
43 tar x -C $(PKG_BUILD_DIR)/
47 define Build/Configure
52 define Package/luci/libtemplate
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
62 define Package/luci/i18ntemplate
63 $(call Package/luci/libtemplate)
64 SUBMENU:=LuCI Translations
68 define Package/luci/thtemplate
69 $(call Package/luci/libtemplate)
74 define Package/luci/webtemplate
75 $(call Package/luci/libtemplate)
76 SUBMENU:=LuCI Components
80 define Package/luci/install/template
81 $(CP) -a $(PKG_BUILD_DIR)/$(2)/dist/* $(1)/ -R
82 $(CP) -a $(PKG_BUILD_DIR)/$(2)/ipkg/* $(1)/CONTROL/ 2>/dev/null || true
89 define Package/luci-core
90 $(call Package/luci/libtemplate)
92 TITLE:=LuCI core libraries
95 define Package/luci-core/install
96 $(call Package/luci/install/template,$(1),libs/core)
99 define Package/luci-core/config
101 prompt "Build Target"
102 default PACKAGE_luci-core_source
104 config PACKAGE_luci-core_compile
107 config PACKAGE_luci-core_stripped
110 config PACKAGE_luci-core_source
116 ifneq ($(CONFIG_PACKAGE_luci-core_compile),)
120 ifneq ($(CONFIG_PACKAGE_luci-core_stripped),)
126 define Package/luci-cbi
127 $(call Package/luci/libtemplate)
128 DEPENDS+=+luci-web +luci-uvl +luci-uci
129 TITLE:=Configuration Binding Interface
132 define Package/luci-cbi/install
133 $(call Package/luci/install/template,$(1),libs/cbi)
137 define Package/luci-uci
138 $(call Package/luci/libtemplate)
140 TITLE:=High-Level UCI API
143 define Package/luci-uci/install
144 $(call Package/luci/install/template,$(1),libs/uci)
148 define Package/luci-fastindex
149 $(call Package/luci/libtemplate)
150 TITLE:=Fastindex indexing module
153 define Package/luci-fastindex/install
154 $(call Package/luci/install/template,$(1),libs/fastindex)
158 define Package/luci-http
159 $(call Package/luci/libtemplate)
160 TITLE:=HTTP Protocol implementation
163 define Package/luci-http/install
164 $(call Package/luci/install/template,$(1),libs/http)
168 define Package/luci-ipkg
169 $(call Package/luci/libtemplate)
170 TITLE:=LuCI IPKG/OPKG call abstraction library
173 define Package/luci-ipkg/install
174 $(call Package/luci/install/template,$(1),libs/ipkg)
178 define Package/luci-json
179 $(call Package/luci/libtemplate)
180 TITLE:=LuCI JSON Library
183 define Package/luci-json/install
184 $(call Package/luci/install/template,$(1),libs/json)
188 define Package/luci-sys
189 $(call Package/luci/libtemplate)
190 TITLE:=LuCI Linux/POSIX system library
193 define Package/luci-sys/install
194 $(call Package/luci/install/template,$(1),libs/sys)
198 define Package/luci-web
199 $(call Package/luci/libtemplate)
200 DEPENDS+=+luci-http +luci-sys +luci-uci +luci-sgi-cgi
201 TITLE:=MVC Webframework
204 define Package/luci-web/conffiles
208 define Package/luci-web/install
209 $(call Package/luci/install/template,$(1),libs/web)
213 define Package/luci-uvl
214 $(call Package/luci/libtemplate)
215 DEPENDS+=+luci-sys +luci-uci +luci-core
216 TITLE:=UVL - UCI Validation Layer
219 define Package/luci-uvl/install
220 $(call Package/luci/install/template,$(1),libs/uvl)
226 define Package/luci-admin-core
227 $(call Package/luci/webtemplate)
228 DEPENDS+=+luci-web +luci-cbi +luci-theme-openwrt +luci-i18n-english
229 TITLE:=Web UI Core Module
232 define Package/luci-admin-core/conffiles
233 /etc/config/luci_hosts
234 /etc/config/luci_ethers
237 define Package/luci-admin-core/install
238 $(call Package/luci/install/template,$(1),modules/admin-core)
242 define Package/luci-admin-mini
243 $(call Package/luci/webtemplate)
244 DEPENDS+=+luci-admin-core
245 TITLE:=LuCI Essentials - stripped down and user-friendly
248 define Package/luci-admin-mini/install
249 $(call Package/luci/install/template,$(1),modules/admin-mini)
253 define Package/luci-admin-full
254 $(call Package/luci/webtemplate)
255 DEPENDS+=+luci-admin-core +luci-ipkg +luci-app-firewall
256 TITLE:=LuCI Administration - full-featured for full control
259 define Package/luci-admin-full/install
260 $(call Package/luci/install/template,$(1),modules/admin-full)
264 define Package/luci-admin-rpc
265 $(call Package/luci/webtemplate)
267 TITLE:=LuCI RPC - JSON-RPC API
270 define Package/luci-admin-rpc/install
271 $(call Package/luci/install/template,$(1),modules/rpc)
277 define Package/luci-app-firewall
278 $(call Package/luci/webtemplate)
279 DEPENDS+=+luci-admin-core
280 TITLE:=Firewall and Portforwarding application
283 define Package/luci-app-firewall/install
284 $(call Package/luci/install/template,$(1),applications/luci-fw)
288 define Package/luci-app-olsr
289 $(call Package/luci/webtemplate)
290 DEPENDS+=+luci-admin-full +olsrd-luci +olsrd-luci-mod-txtinfo
291 TITLE:=OLSR configuration and status module
294 define Package/luci-app-olsr/install
295 $(call Package/luci/install/template,$(1),applications/luci-olsr)
299 define Package/luci-app-qos
300 $(call Package/luci/webtemplate)
301 DEPENDS+=+luci-admin-core +qos-scripts
302 TITLE:=Quality of Service configuration module
305 define Package/luci-app-qos/install
306 $(call Package/luci/install/template,$(1),applications/luci-qos)
310 define Package/luci-app-statistics
311 $(call Package/luci/webtemplate)
312 DEPENDS+=+luci-admin-full +collectd +collectd-mod-rrdtool1 +rrdtool1
313 TITLE:=LuCI Statistics Application
316 define Package/luci-app-statistics/conffiles
317 /etc/config/luci_statistics
320 define Package/luci-app-statistics/install
321 $(call Package/luci/install/template,$(1),applications/luci-statistics)
325 define Package/luci-app-upnp
326 $(call Package/luci/webtemplate)
327 DEPENDS+=+luci-admin-core +miniupnpd
328 TITLE:=Universal Plug & Play configuration module
331 define Package/luci-app-upnp/install
332 $(call Package/luci/install/template,$(1),applications/luci-upnp)
336 define Package/luci-app-ntpc
337 $(call Package/luci/webtemplate)
338 DEPENDS+=+luci-admin-core +ntpclient
339 TITLE:=NTP time synchronisation client configuration module
342 define Package/luci-app-ntpc/install
343 $(call Package/luci/install/template,$(1),applications/luci-ntpc)
347 define Package/luci-app-ddns
348 $(call Package/luci/webtemplate)
349 DEPENDS+=+luci-admin-core +ddns-scripts
350 TITLE:=Dynamic DNS configuration module
353 define Package/luci-app-ddns/install
354 $(call Package/luci/install/template,$(1),applications/luci-ddns)
358 define Package/luci-app-samba
359 $(call Package/luci/webtemplate)
360 DEPENDS+=+luci-admin-full +samba3
361 TITLE:=Network Shares - Samba SMB/CIFS module
364 define Package/luci-app-samba/install
365 $(call Package/luci/install/template,$(1),applications/luci-samba)
369 define Package/luci-app-uvc_streamer
370 $(call Package/luci/webtemplate)
371 DEPENDS+=+luci-admin-full +uvc-streamer
372 TITLE:=Webcam Streaming - UVC-Streamer module
375 define Package/luci-app-uvc_streamer/install
376 $(call Package/luci/install/template,$(1),applications/luci-uvc_streamer)
380 define Package/luci-app-p910nd
381 $(call Package/luci/webtemplate)
382 DEPENDS+=+luci-admin-full +p910nd
383 TITLE:=p910nd - Printer server module
386 define Package/luci-app-p910nd/install
387 $(call Package/luci/install/template,$(1),applications/luci-p910nd)
391 define Package/luci-app-ushare
392 $(call Package/luci/webtemplate)
393 DEPENDS+=+luci-admin-full +ushare
394 TITLE:=ushare - UPnP A/V & DLNA Media Server
397 define Package/luci-app-ushare/install
398 $(call Package/luci/install/template,$(1),applications/luci-ushare)
401 define Package/luci-app-hd_idle
402 $(call Package/luci/webtemplate)
403 DEPENDS+=+luci-admin-full +hd-idle
407 define Package/luci-app-hd_idle/install
408 $(call Package/luci/install/template,$(1),applications/luci-hd_idle)
411 define Package/luci-app-tinyproxy
412 $(call Package/luci/webtemplate)
413 DEPENDS+=+luci-admin-full +tinyproxy
414 TITLE:=Tinyproxy - HTTP(S)-Proxy
417 define Package/luci-app-tinyproxy/install
418 $(call Package/luci/install/template,$(1),applications/luci-tinyproxy)
421 define Package/luci-app-initmgr
422 $(call Package/luci/webtemplate)
423 DEPENDS+=+luci-admin-full
424 TITLE:=LuCI Initscript Management
427 define Package/luci-app-initmgr/install
428 $(call Package/luci/install/template,$(1),applications/luci-initmgr)
431 define Package/luci-app-livestats
432 $(call Package/luci/webtemplate)
433 DEPENDS+=+luci-admin-core +luci-admin-rpc
434 TITLE:=LuCI Realtime Statistics
437 define Package/luci-app-livestats/install
438 $(call Package/luci/install/template,$(1),applications/luci-livestats)
441 define Package/luci-app-polipo
442 $(call Package/luci/webtemplate)
443 TITLE:=LuCI Support for the Polipo Proxy
444 DEPENDS+=+luci-admin-core +polipo
447 define Package/luci-app-polipo/install
448 $(call Package/luci/install/template,$(1),applications/luci-polipo)
452 ### Server Gateway Interfaces ###
454 define Package/luci-sgi-cgi
455 $(call Package/luci/libtemplate)
459 define Package/luci-sgi-cgi/install
460 $(call Package/luci/install/template,$(1),libs/sgi-cgi)
465 define Package/luci-theme-base
466 $(call Package/luci/thtemplate)
468 TITLE:=Common base for all themes
471 define Package/luci-theme-base/install
472 $(call Package/luci/install/template,$(1),themes/base)
475 define Package/luci-theme-openwrt
476 $(call Package/luci/thtemplate)
477 TITLE:=OpenWrt.org (default)
478 DEPENDS:=+luci-theme-base
481 define Package/luci-theme-openwrt/install
482 $(call Package/luci/install/template,$(1),themes/openwrt.org)
485 define Package/luci-theme-openwrtlight
486 $(call Package/luci/thtemplate)
487 TITLE:=OpenWrt.org - light variant without images
488 DEPENDS:=+luci-theme-base
491 define Package/luci-theme-openwrtlight/install
492 $(call Package/luci/install/template,$(1),themes/openwrt-light)
497 define Package/luci-i18n-german
498 $(call Package/luci/i18ntemplate)
502 define Package/luci-i18n-german/install
503 $(call Package/luci/install/template,$(1),i18n/german)
507 define Package/luci-i18n-english
508 $(call Package/luci/i18ntemplate)
512 define Package/luci-i18n-english/install
513 $(call Package/luci/install/template,$(1),i18n/english)
517 define Package/luci-i18n-french
518 $(call Package/luci/i18ntemplate)
519 TITLE:=French (by Florian Fainelli)
522 define Package/luci-i18n-french/install
523 $(call Package/luci/install/template,$(1),i18n/french)
527 define Package/luci-i18n-italian
528 $(call Package/luci/i18ntemplate)
529 TITLE:=Italian (by Matteo Croce)
532 define Package/luci-i18n-italian/install
533 $(call Package/luci/install/template,$(1),i18n/italian)
537 define Package/luci-i18n-russian
538 $(call Package/luci/i18ntemplate)
539 TITLE:=Russian (by Skryabin Dmitry)
542 define Package/luci-i18n-russian/install
543 $(call Package/luci/install/template,$(1),i18n/russian)
547 define Package/luci-i18n-portuguese_brazilian
548 $(call Package/luci/i18ntemplate)
549 TITLE:=Portuguese (Brazilian) (by Carlos Cesario)
552 define Package/luci-i18n-portuguese_brazilian/install
553 $(call Package/luci/install/template,$(1),i18n/portuguese_brazilian)
559 ifneq ($(CONFIG_PACKAGE_luci-core),)
560 PKG_SELECTED_MODULES+=libs/core
562 ifneq ($(CONFIG_PACKAGE_luci-cbi),)
563 PKG_SELECTED_MODULES+=libs/cbi
565 ifneq ($(CONFIG_PACKAGE_luci-fastindex),)
566 PKG_SELECTED_MODULES+=libs/fastindex
568 ifneq ($(CONFIG_PACKAGE_luci-http),)
569 PKG_SELECTED_MODULES+=libs/http
571 ifneq ($(CONFIG_PACKAGE_luci-ipkg),)
572 PKG_SELECTED_MODULES+=libs/ipkg
574 ifneq ($(CONFIG_PACKAGE_luci-json),)
575 PKG_SELECTED_MODULES+=libs/json
577 ifneq ($(CONFIG_PACKAGE_luci-uci),)
578 PKG_SELECTED_MODULES+=libs/uci
580 ifneq ($(CONFIG_PACKAGE_luci-sys),)
581 PKG_SELECTED_MODULES+=libs/sys
583 ifneq ($(CONFIG_PACKAGE_luci-web),)
584 PKG_SELECTED_MODULES+=libs/web
586 ifneq ($(CONFIG_PACKAGE_luci-uvl),)
587 PKG_SELECTED_MODULES+=libs/uvl
590 ifneq ($(CONFIG_PACKAGE_luci-admin-core),)
591 PKG_SELECTED_MODULES+=modules/admin-core
593 ifneq ($(CONFIG_PACKAGE_luci-admin-mini),)
594 PKG_SELECTED_MODULES+=modules/admin-mini
596 ifneq ($(CONFIG_PACKAGE_luci-admin-full),)
597 PKG_SELECTED_MODULES+=modules/admin-full
599 ifneq ($(CONFIG_PACKAGE_luci-admin-rpc),)
600 PKG_SELECTED_MODULES+=modules/rpc
603 ifneq ($(CONFIG_PACKAGE_luci-app-firewall),)
604 PKG_SELECTED_MODULES+=applications/luci-fw
606 ifneq ($(CONFIG_PACKAGE_luci-app-olsr),)
607 PKG_SELECTED_MODULES+=applications/luci-olsr
609 ifneq ($(CONFIG_PACKAGE_luci-app-qos),)
610 PKG_SELECTED_MODULES+=applications/luci-qos
612 ifneq ($(CONFIG_PACKAGE_luci-app-statistics),)
613 PKG_SELECTED_MODULES+=applications/luci-statistics
615 ifneq ($(CONFIG_PACKAGE_luci-app-upnp),)
616 PKG_SELECTED_MODULES+=applications/luci-upnp
618 ifneq ($(CONFIG_PACKAGE_luci-app-ntpc),)
619 PKG_SELECTED_MODULES+=applications/luci-ntpc
621 ifneq ($(CONFIG_PACKAGE_luci-app-ddns),)
622 PKG_SELECTED_MODULES+=applications/luci-ddns
624 ifneq ($(CONFIG_PACKAGE_luci-app-samba),)
625 PKG_SELECTED_MODULES+=applications/luci-samba
627 ifneq ($(CONFIG_PACKAGE_luci-app-uvc_streamer),)
628 PKG_SELECTED_MODULES+=applications/luci-uvc_streamer
630 ifneq ($(CONFIG_PACKAGE_luci-app-p910nd),)
631 PKG_SELECTED_MODULES+=applications/luci-p910nd
633 ifneq ($(CONFIG_PACKAGE_luci-app-ushare),)
634 PKG_SELECTED_MODULES+=applications/luci-ushare
636 ifneq ($(CONFIG_PACKAGE_luci-app-hd_idle),)
637 PKG_SELECTED_MODULES+=applications/luci-hd_idle
639 ifneq ($(CONFIG_PACKAGE_luci-app-tinyproxy),)
640 PKG_SELECTED_MODULES+=applications/luci-tinyproxy
642 ifneq ($(CONFIG_PACKAGE_luci-app-initmgr),)
643 PKG_SELECTED_MODULES+=applications/luci-initmgr
645 ifneq ($(CONFIG_PACKAGE_luci-app-livestats),)
646 PKG_SELECTED_MODULES+=applications/luci-livestats
648 ifneq ($(CONFIG_PACKAGE_luci-app-polipo),)
649 PKG_SELECTED_MODULES+=applications/luci-polipo
653 ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),)
654 PKG_SELECTED_MODULES+=libs/sgi-cgi
658 ifneq ($(CONFIG_PACKAGE_luci-theme-base),)
659 PKG_SELECTED_MODULES+=themes/base
661 ifneq ($(CONFIG_PACKAGE_luci-theme-openwrt),)
662 PKG_SELECTED_MODULES+=themes/openwrt.org
664 ifneq ($(CONFIG_PACKAGE_luci-theme-openwrtlight),)
665 PKG_SELECTED_MODULES+=themes/openwrt-light
668 ifneq ($(CONFIG_PACKAGE_luci-i18n-german),)
669 PKG_SELECTED_MODULES+=i18n/german
671 ifneq ($(CONFIG_PACKAGE_luci-i18n-english),)
672 PKG_SELECTED_MODULES+=i18n/english
674 ifneq ($(CONFIG_PACKAGE_luci-i18n-french),)
675 PKG_SELECTED_MODULES+=i18n/french
677 ifneq ($(CONFIG_PACKAGE_luci-i18n-italian),)
678 PKG_SELECTED_MODULES+=i18n/italian
680 ifneq ($(CONFIG_PACKAGE_luci-i18n-russian),)
681 PKG_SELECTED_MODULES+=i18n/russian
683 ifneq ($(CONFIG_PACKAGE_luci-i18n-portuguese_brazilian),)
684 PKG_SELECTED_MODULES+=i18n/portuguese_brazilian
689 MODULES="$(PKG_SELECTED_MODULES)" \
690 LUA_TARGET="$(LUA_TARGET)" \
691 LUA_SHLIBS="-llua -lm" \
692 CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
693 LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib" \
697 $(eval $(call BuildPackage,luci-core))
698 $(eval $(call BuildPackage,luci-cbi))
699 $(eval $(call BuildPackage,luci-fastindex))
700 $(eval $(call BuildPackage,luci-http))
701 $(eval $(call BuildPackage,luci-ipkg))
702 $(eval $(call BuildPackage,luci-json))
703 $(eval $(call BuildPackage,luci-uci))
704 $(eval $(call BuildPackage,luci-sys))
705 $(eval $(call BuildPackage,luci-web))
706 $(eval $(call BuildPackage,luci-uvl))
708 $(eval $(call BuildPackage,luci-admin-core))
709 $(eval $(call BuildPackage,luci-admin-mini))
710 $(eval $(call BuildPackage,luci-admin-full))
711 $(eval $(call BuildPackage,luci-admin-rpc))
713 $(eval $(call BuildPackage,luci-app-firewall))
714 $(eval $(call BuildPackage,luci-app-olsr))
715 $(eval $(call BuildPackage,luci-app-qos))
716 $(eval $(call BuildPackage,luci-app-statistics))
717 $(eval $(call BuildPackage,luci-app-upnp))
718 $(eval $(call BuildPackage,luci-app-ntpc))
719 $(eval $(call BuildPackage,luci-app-ddns))
720 $(eval $(call BuildPackage,luci-app-samba))
721 $(eval $(call BuildPackage,luci-app-uvc_streamer))
722 $(eval $(call BuildPackage,luci-app-p910nd))
723 $(eval $(call BuildPackage,luci-app-ushare))
724 $(eval $(call BuildPackage,luci-app-hd_idle))
725 $(eval $(call BuildPackage,luci-app-tinyproxy))
726 $(eval $(call BuildPackage,luci-app-initmgr))
727 $(eval $(call BuildPackage,luci-app-livestats))
728 $(eval $(call BuildPackage,luci-app-polipo))
730 $(eval $(call BuildPackage,luci-sgi-cgi))
732 $(eval $(call BuildPackage,luci-theme-base))
733 $(eval $(call BuildPackage,luci-theme-openwrt))
734 $(eval $(call BuildPackage,luci-theme-openwrtlight))
736 $(eval $(call BuildPackage,luci-i18n-german))
737 $(eval $(call BuildPackage,luci-i18n-english))
738 $(eval $(call BuildPackage,luci-i18n-french))
739 $(eval $(call BuildPackage,luci-i18n-italian))
740 $(eval $(call BuildPackage,luci-i18n-russian))
741 $(eval $(call BuildPackage,luci-i18n-portuguese_brazilian))