1 include $(TOPDIR)/rules.mk
6 USELOCAL:=$(shell grep luci ../../../.project 2>/dev/null >/dev/null && echo 1)
15 PKG_SOURCE_URL:=https://dev.leipzig.freifunk.net/svn/ff-luci/$(PKG_BRANCH)
17 PKG_REV:=$(shell LC_ALL=C svn info ${PKG_SOURCE_URL} | sed -ne's/^Last Changed Rev: //p')
18 PKG_VERSION:=0.7+svn$(PKG_REV)
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/fftemplate
63 $(call Package/luci/libtemplate)
64 SUBMENU:=LuCI Freifunk Support (PARTLY BROKEN)
65 DEPENDS:=+luci-mod-freifunk @BROKEN
68 define Package/luci/httpdtemplate
69 $(call Package/luci/libtemplate)
70 SUBMENU:=LuCI Non-Forking HTTP-Daemon (EXPERIMENTAL)
74 define Package/luci/i18ntemplate
75 $(call Package/luci/libtemplate)
76 SUBMENU:=LuCI Translations
80 define Package/luci/thtemplate
81 $(call Package/luci/libtemplate)
86 define Package/luci/webtemplate
87 $(call Package/luci/libtemplate)
88 SUBMENU:=LuCI Components
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
101 define Package/luci-core
102 $(call Package/luci/libtemplate)
103 DEPENDS:=+lua +luaposix
104 TITLE:=LuCI core libraries
107 define Package/luci-core/install
108 $(call Package/luci/install/template,$(1),libs/core)
111 define Package/luci-core/config
113 prompt "Build Target"
114 default PACKAGE_luci-core_source
116 config PACKAGE_luci-core_compile
119 config PACKAGE_luci-core_stripped
122 config PACKAGE_luci-core_source
128 ifneq ($(CONFIG_PACKAGE_luci-core_compile),)
132 ifneq ($(CONFIG_PACKAGE_luci-core_stripped),)
138 define Package/luci-cbi
139 $(call Package/luci/libtemplate)
141 TITLE:=Configuration Binding Interface
144 define Package/luci-cbi/install
145 $(call Package/luci/install/template,$(1),libs/cbi)
149 define Package/luci-uci
150 $(call Package/luci/libtemplate)
152 TITLE:=High-Level UCI API
155 define Package/luci-uci/install
156 $(call Package/luci/install/template,$(1),libs/uci)
160 define Package/luci-fastindex
161 $(call Package/luci/libtemplate)
162 TITLE:=Fastindex indexing module
165 define Package/luci-fastindex/install
166 $(call Package/luci/install/template,$(1),libs/fastindex)
170 define Package/luci-http
171 $(call Package/luci/libtemplate)
172 TITLE:=HTTP Protocol implementation
175 define Package/luci-http/install
176 $(call Package/luci/install/template,$(1),libs/http)
180 define Package/luci-ipkg
181 $(call Package/luci/libtemplate)
182 TITLE:=LuCI IPKG/OPKG call abstraction library
185 define Package/luci-ipkg/install
186 $(call Package/luci/install/template,$(1),libs/ipkg)
190 define Package/luci-web
191 $(call Package/luci/libtemplate)
192 DEPENDS+=+luci-http +luci-addons +luci-uci +luci-sgi-cgi
193 TITLE:=MVC Webframework
196 define Package/luci-web/conffiles
200 define Package/luci-web/install
201 $(call Package/luci/install/template,$(1),libs/web)
208 define Package/luci-httpd
209 $(call Package/luci/httpdtemplate)
210 DEPENDS:=+luci-http +luasocket
214 define Package/luci-httpd/install
215 $(call Package/luci/install/template,$(1),libs/httpd)
220 ### Community Packages ###
222 define Package/luci-ff-halle
223 $(call Package/luci/fftemplate)
225 +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
226 +luci-app-ffwizard-leipzig \
227 +luci-theme-fledermaus \
229 +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
231 TITLE:=Freifunk Halle Community Meta-Package
234 define Package/luci-ff-halle/install
235 $(call Package/luci/install/template,$(1),applications/community-halle)
239 define Package/luci-ff-leipzig
240 $(call Package/luci/fftemplate)
242 +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
243 +luci-app-ffwizard-leipzig \
244 +luci-theme-fledermaus \
246 +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
248 TITLE:=Freifunk Leipzig Community Meta-Package
251 define Package/luci-ff-leipzig/install
252 $(call Package/luci/install/template,$(1),applications/community-leipzig)
256 define Package/luci-ff-hannover
257 $(call Package/luci/fftemplate)
259 +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
260 +luci-theme-fledermaus \
262 +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice
263 TITLE:=Freifunk Hannover Community Meta-Package
264 URL:=http://www.freifunk-hannover.de/
265 MAINTAINER:=Mickey Knox <mickey-at-netfreaks-dot-org>
268 define Package/luci-ff-hannover/install
269 $(call Package/luci/install/template,$(1),applications/community-hannover)
273 define Package/luci-ff-berlin
274 $(call Package/luci/fftemplate)
276 +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
277 +luci-theme-fledermaus \
279 +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice
280 TITLE:=Freifunk Berlin Community Meta-Package
283 define Package/luci-ff-berlin/install
284 $(call Package/luci/install/template,$(1),applications/community-berlin)
287 define Package/luci-ff-augsburg
288 $(call Package/luci/fftemplate)
290 +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
291 +luci-theme-fledermaus \
293 +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice
294 TITLE:=Freifunk Augsburg Community Meta-Package
297 define Package/luci-ff-augsburg/install
298 $(call Package/luci/install/template,$(1),applications/community-augsburg)
303 define Package/luci-admin-core
304 $(call Package/luci/webtemplate)
305 DEPENDS+=+luci-web +luci-cbi +luci-theme-openwrt +luci-i18n-english
306 TITLE:=Web UI Core Module
309 define Package/luci-admin-core/install
310 $(call Package/luci/install/template,$(1),modules/admin-core)
314 define Package/luci-admin-mini
315 $(call Package/luci/webtemplate)
316 DEPENDS+=+luci-admin-core
317 TITLE:=LuCI Essentials - casual user's interface
320 define Package/luci-admin-mini/install
321 $(call Package/luci/install/template,$(1),modules/admin-mini)
325 define Package/luci-admin-full
326 $(call Package/luci/webtemplate)
327 DEPENDS+=+luci-admin-core +luci-ipkg
328 TITLE:=LuCI Administration - power user's interface
331 define Package/luci-admin-full/install
332 $(call Package/luci/install/template,$(1),modules/admin-full)
336 define Package/luci-mod-freifunk
337 $(call Package/luci/fftemplate)
338 DEPENDS:=+luci-admin-full
339 TITLE:=LuCI Freifunk module
342 define Package/luci-mod-freifunk/conffiles
346 define Package/luci-mod-freifunk/install
347 $(call Package/luci/install/template,$(1),modules/freifunk)
354 define Package/luci-app-ffwizard-leipzig
355 $(call Package/luci/fftemplate)
356 DEPENDS+=+luci-app-firewall
357 TITLE:=Freifunk Leipzig configuration wizard
360 define Package/luci-app-ffwizard-leipzig/install
361 $(call Package/luci/install/template,$(1),applications/luci-ffwizard-leipzig)
365 define Package/luci-app-firewall
366 $(call Package/luci/webtemplate)
367 DEPENDS+=+luci-admin-core +firewall
368 TITLE:=Firewall and Portforwarding application
371 define Package/luci-app-firewall/install
372 $(call Package/luci/install/template,$(1),applications/luci-fw)
376 define Package/luci-app-olsr
377 $(call Package/luci/webtemplate)
378 DEPENDS+=+luci-admin-full +olsrd +olsrd-mod-txtinfo
379 TITLE:=OLSR configuration and status module
382 define Package/luci-app-olsr/install
383 $(call Package/luci/install/template,$(1),applications/luci-olsr)
387 define Package/luci-app-qos
388 $(call Package/luci/webtemplate)
389 DEPENDS+=+luci-admin-core +qos-scripts
390 TITLE:=Quality of Service configuration module
393 define Package/luci-app-qos/install
394 $(call Package/luci/install/template,$(1),applications/luci-qos)
398 define Package/luci-app-splash
399 $(call Package/luci/fftemplate)
400 DEPENDS+=+luasocket +firewall
401 TITLE:=Freifunk DHCP-Splash application
404 define Package/luci-app-splash/conffiles
405 /etc/config/luci_splash
408 define Package/luci-app-splash/install
409 $(call Package/luci/install/template,$(1),applications/luci-splash)
413 define Package/luci-app-statistics
414 $(call Package/luci/webtemplate)
415 DEPENDS+=+luci-admin-full +collectd +collectd-mod-rrdtool1 +rrdtool1
416 TITLE:=LuCI Statistics Application
419 define Package/luci-app-statistics/conffiles
420 /etc/config/luci_statistics
423 define Package/luci-app-statistics/install
424 $(call Package/luci/install/template,$(1),applications/luci-statistics)
428 define Package/luci-app-upnp
429 $(call Package/luci/webtemplate)
430 DEPENDS+=+luci-admin-core +miniupnpd
431 TITLE:=Universal Plug & Play configuration module
434 define Package/luci-app-upnp/install
435 $(call Package/luci/install/template,$(1),applications/luci-upnp)
439 define Package/luci-app-ntpc
440 $(call Package/luci/webtemplate)
441 DEPENDS+=+luci-admin-core +ntpclient
442 TITLE:=NTP time synchronisation client configuration module
445 define Package/luci-app-ntpc/install
446 $(call Package/luci/install/template,$(1),applications/luci-ntpc)
450 define Package/luci-app-ddns
451 $(call Package/luci/webtemplate)
452 DEPENDS+=+luci-admin-core +ddns-scripts
453 TITLE:=Dynamic DNS configuration module
456 define Package/luci-app-ddns/install
457 $(call Package/luci/install/template,$(1),applications/luci-ddns)
461 ### Server Gateway Interfaces ###
463 define Package/luci-sgi-cgi
464 $(call Package/luci/libtemplate)
468 define Package/luci-sgi-cgi/install
469 $(call Package/luci/install/template,$(1),libs/sgi-cgi)
472 define Package/luci-sgi-luci
473 $(call Package/luci/libtemplate)
475 TITLE:=SGI for LuCI HTTPD
478 define Package/luci-sgi-luci/install
479 $(call Package/luci/install/template,$(1),libs/sgi-luci)
482 define Package/luci-sgi-webuci
483 $(call Package/luci/libtemplate)
484 TITLE:=SGI for Webuci
487 define Package/luci-sgi-webuci/install
488 $(call Package/luci/install/template,$(1),libs/sgi-webuci)
492 define Package/luci-theme-fledermaus
493 $(call Package/luci/fftemplate)
495 TITLE:=Fledermaus Theme
498 define Package/luci-theme-fledermaus/install
499 $(call Package/luci/install/template,$(1),themes/fledermaus)
502 define Package/luci-theme-openwrt
503 $(call Package/luci/thtemplate)
504 TITLE:=OpenWRT.org (default)
507 define Package/luci-theme-openwrt/install
508 $(call Package/luci/install/template,$(1),themes/openwrt.org)
512 define Package/luci-i18n-german
513 $(call Package/luci/i18ntemplate)
517 define Package/luci-i18n-german/install
518 $(call Package/luci/install/template,$(1),i18n/german)
522 define Package/luci-i18n-english
523 $(call Package/luci/i18ntemplate)
527 define Package/luci-i18n-english/install
528 $(call Package/luci/install/template,$(1),i18n/english)
532 define Package/luci-i18n-french
533 $(call Package/luci/i18ntemplate)
537 define Package/luci-i18n-french/install
538 $(call Package/luci/install/template,$(1),i18n/french)
545 ifneq ($(CONFIG_PACKAGE_luci-core),)
546 PKG_SELECTED_MODULES+=libs/core
548 ifneq ($(CONFIG_PACKAGE_luci-cbi),)
549 PKG_SELECTED_MODULES+=libs/cbi
551 ifneq ($(CONFIG_PACKAGE_luci-fastindex),)
552 PKG_SELECTED_MODULES+=libs/fastindex
554 ifneq ($(CONFIG_PACKAGE_luci-http),)
555 PKG_SELECTED_MODULES+=libs/http
557 ifneq ($(CONFIG_PACKAGE_luci-ipkg),)
558 PKG_SELECTED_MODULES+=libs/ipkg
560 ifneq ($(CONFIG_PACKAGE_luci-uci),)
561 PKG_SELECTED_MODULES+=libs/uci
563 ifneq ($(CONFIG_PACKAGE_luci-web),)
564 PKG_SELECTED_MODULES+=libs/web
567 ifneq ($(CONFIG_PACKAGE_luci-httpd),)
568 PKG_SELECTED_MODULES+=libs/httpd
571 ifneq ($(CONFIG_PACKAGE_luci-ff-halle),)
572 PKG_SELECTED_MODULES+=applications/community-halle
574 ifneq ($(CONFIG_PACKAGE_luci-ff-leipzig),)
575 PKG_SELECTED_MODULES+=applications/community-leipzig
577 ifneq ($(CONFIG_PACKAGE_luci-ff-hannover),)
578 PKG_SELECTED_MODULES+=applications/community-hannover
580 ifneq ($(CONFIG_PACKAGE_luci-ff-berlin),)
581 PKG_SELECTED_MODULES+=applications/community-berlin
583 ifneq ($(CONFIG_PACKAGE_luci-ff-augsburg),)
584 PKG_SELECTED_MODULES+=applications/community-augsburg
587 ifneq ($(CONFIG_PACKAGE_luci-admin-core),)
588 PKG_SELECTED_MODULES+=modules/admin-core
590 ifneq ($(CONFIG_PACKAGE_luci-admin-mini),)
591 PKG_SELECTED_MODULES+=modules/admin-mini
593 ifneq ($(CONFIG_PACKAGE_luci-admin-full),)
594 PKG_SELECTED_MODULES+=modules/admin-full
596 ifneq ($(CONFIG_PACKAGE_luci-mod-freifunk),)
597 PKG_SELECTED_MODULES+=modules/freifunk
600 ifneq ($(CONFIG_PACKAGE_luci-app-ffwizard-leipzig),)
601 PKG_SELECTED_MODULES+=applications/luci-ffwizard-leipzig
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-splash),)
613 PKG_SELECTED_MODULES+=applications/luci-splash
615 ifneq ($(CONFIG_PACKAGE_luci-app-statistics),)
616 PKG_SELECTED_MODULES+=applications/luci-statistics
618 ifneq ($(CONFIG_PACKAGE_luci-app-upnp),)
619 PKG_SELECTED_MODULES+=applications/luci-upnp
621 ifneq ($(CONFIG_PACKAGE_luci-app-ntpc),)
622 PKG_SELECTED_MODULES+=applications/luci-ntpc
624 ifneq ($(CONFIG_PACKAGE_luci-app-ddns),)
625 PKG_SELECTED_MODULES+=applications/luci-ddns
628 ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),)
629 PKG_SELECTED_MODULES+=libs/sgi-cgi
631 ifneq ($(CONFIG_PACKAGE_luci-sgi-luci),)
632 PKG_SELECTED_MODULES+=libs/sgi-luci
634 ifneq ($(CONFIG_PACKAGE_luci-sgi-webuci),)
635 PKG_SELECTED_MODULES+=libs/sgi-webuci
638 ifneq ($(CONFIG_PACKAGE_luci-theme-fledermaus),)
639 PKG_SELECTED_MODULES+=themes/fledermaus
641 ifneq ($(CONFIG_PACKAGE_luci-theme-openwrt),)
642 PKG_SELECTED_MODULES+=themes/openwrt.org
645 ifneq ($(CONFIG_PACKAGE_luci-i18n-german),)
646 PKG_SELECTED_MODULES+=i18n/german
648 ifneq ($(CONFIG_PACKAGE_luci-i18n-english),)
649 PKG_SELECTED_MODULES+=i18n/english
651 ifneq ($(CONFIG_PACKAGE_luci-i18n-french),)
652 PKG_SELECTED_MODULES+=i18n/french
657 MODULES="$(PKG_SELECTED_MODULES)" \
658 LUA_TARGET="$(LUA_TARGET)" \
659 LUA_SHLIBS="-llua -lm" \
660 CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
661 LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib" \
665 $(eval $(call BuildPackage,luci-core))
666 $(eval $(call BuildPackage,luci-cbi))
667 $(eval $(call BuildPackage,luci-fastindex))
668 $(eval $(call BuildPackage,luci-http))
669 $(eval $(call BuildPackage,luci-ipkg))
670 $(eval $(call BuildPackage,luci-uci))
671 $(eval $(call BuildPackage,luci-web))
673 $(eval $(call BuildPackage,luci-httpd))
675 $(eval $(call BuildPackage,luci-ff-halle))
676 $(eval $(call BuildPackage,luci-ff-leipzig))
677 $(eval $(call BuildPackage,luci-ff-hannover))
678 $(eval $(call BuildPackage,luci-ff-berlin))
679 $(eval $(call BuildPackage,luci-ff-augsburg))
681 $(eval $(call BuildPackage,luci-admin-core))
682 $(eval $(call BuildPackage,luci-admin-mini))
683 $(eval $(call BuildPackage,luci-admin-full))
684 $(eval $(call BuildPackage,luci-mod-freifunk))
686 $(eval $(call BuildPackage,luci-app-ffwizard-leipzig))
687 $(eval $(call BuildPackage,luci-app-firewall))
688 $(eval $(call BuildPackage,luci-app-olsr))
689 $(eval $(call BuildPackage,luci-app-qos))
690 $(eval $(call BuildPackage,luci-app-splash))
691 $(eval $(call BuildPackage,luci-app-statistics))
692 $(eval $(call BuildPackage,luci-app-upnp))
693 $(eval $(call BuildPackage,luci-app-ntpc))
694 $(eval $(call BuildPackage,luci-app-ddns))
696 $(eval $(call BuildPackage,luci-sgi-cgi))
697 $(eval $(call BuildPackage,luci-sgi-luci))
698 $(eval $(call BuildPackage,luci-sgi-webuci))
700 $(eval $(call BuildPackage,luci-theme-fledermaus))
701 $(eval $(call BuildPackage,luci-theme-openwrt))
703 $(eval $(call BuildPackage,luci-i18n-german))
704 $(eval $(call BuildPackage,luci-i18n-english))
705 $(eval $(call BuildPackage,luci-i18n-french))