include $(TOPDIR)/rules.mk
PKG_BRANCH:=trunk
-PKG_SOURCE_URL:=https://dev.leipzig.freifunk.net/svn/ff-luci/$(PKG_BRANCH)
-PKG_REV:=$(shell LC_ALL=C svn info ${PKG_SOURCE_URL} | sed -ne's/^Last Changed Rev: //p')
+
+ifeq ($(DUMP),)
+ USELOCAL:=$(shell grep luci ../../../.project 2>/dev/null >/dev/null && echo 1)
+endif
PKG_NAME:=luci
-PKG_VERSION:=0.7+svn$(PKG_REV)
PKG_RELEASE:=1
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
-PKG_SOURCE_PROTO:=svn
-PKG_SOURCE_VERSION:=$(PKG_REV)
+ifeq ($(USELOCAL),1)
+ PKG_VERSION:=0.7+svn
+else
+ PKG_SOURCE_URL:=https://dev.leipzig.freifunk.net/svn/ff-luci/$(PKG_BRANCH)
+ ifeq ($(DUMP),)
+ PKG_REV:=$(shell LC_ALL=C svn info ${PKG_SOURCE_URL} | sed -ne's/^Last Changed Rev: //p')
+ PKG_VERSION:=0.7+svn$(PKG_REV)
+ endif
+ PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+ PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
+ PKG_SOURCE_PROTO:=svn
+ PKG_SOURCE_VERSION:=$(PKG_REV)
+endif
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
-LUA_TARGET:=source
+PKG_BUILD_DEPENDS:=libnotimpl
+LUA_TARGET:=strip
PKG_SELECTED_MODULES:=
include $(INCLUDE_DIR)/package.mk
+ifeq ($(USELOCAL),1)
+ define Build/Prepare
+ mkdir -p $(PKG_BUILD_DIR)
+ $(TAR) c -C ../../../ . \
+ --exclude=.pc --exclude=.svn --exclude=.git \
+ --exclude='boa-0*' --exclude='*.o' --exclude='*.so' \
+ --exclude=dist | \
+ tar x -C $(PKG_BUILD_DIR)/
+ endef
+endif
+
define Build/Configure
endef
define Package/luci/fftemplate
$(call Package/luci/libtemplate)
- SUBMENU:=LuCI - Freifunk Support
+ SUBMENU:=LuCI - Freifunk Support (GERMAN ONLY)
DEPENDS:=+luci-mod-freifunk
endef
endef
ifneq ($(CONFIG_PACKAGE_luci-core_compile),)
- LUA_TARGET:=compile
+ LUA_TARGET:=compile
endif
define Package/luci-web
$(call Package/luci/libtemplate)
- DEPENDS+=+luci-http +luci-addons +luci-uci
+ DEPENDS+=+luci-http +luci-addons +luci-uci +luci-sgi-cgi
TITLE:=MVC Webframework
endef
endef
+define Package/luci-ff-berlin
+ $(call Package/luci/fftemplate)
+ DEPENDS+= \
+ +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
+ +luci-theme-fledermaus \
+ +luci-i18n-german \
+ +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice
+ TITLE:=Freifunk Berlin Community Meta-Package
+endef
+
+define Package/luci-ff-berlin/install
+ $(call Package/luci/install/template,$(1),applications/community-berlin)
+endef
+
+define Package/luci-ff-augsburg
+ $(call Package/luci/fftemplate)
+ DEPENDS+= \
+ +luci-sgi-cgi +luci-app-splash +luci-app-olsr \
+ +luci-theme-fledermaus \
+ +luci-i18n-german \
+ +olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice
+ TITLE:=Freifunk Augsburg Community Meta-Package
+endef
+
+define Package/luci-ff-augsburg/install
+ $(call Package/luci/install/template,$(1),applications/community-augsburg)
+endef
+
### Modules ###
define Package/luci-mod-admin-core
$(call Package/luci/webtemplate)
DEPENDS+=+luci-web +luci-cbi +luci-theme-openwrt +luci-i18n-english
- TITLE:=Administration module
+ TITLE:=Web UI Core Module
endef
define Package/luci-mod-admin-core/install
endef
+define Package/luci-mod-admin-mini
+ $(call Package/luci/webtemplate)
+ DEPENDS+=+luci-mod-admin-core
+ TITLE:=LuCI Essentials - casual user's interface
+endef
+
+define Package/luci-mod-admin-mini/install
+ $(call Package/luci/install/template,$(1),modules/admin-mini)
+endef
+
+
+define Package/luci-mod-admin-full
+ $(call Package/luci/webtemplate)
+ DEPENDS+=+luci-mod-admin-core
+ TITLE:=LuCI Administration - power user's interface
+endef
+
+define Package/luci-mod-admin-full/install
+ $(call Package/luci/install/template,$(1),modules/admin-full)
+endef
+
+
define Package/luci-mod-freifunk
$(call Package/luci/fftemplate)
- DEPENDS:=+luci-mod-admin-core
+ DEPENDS:=+luci-mod-admin-full
TITLE:=LuCI Freifunk module
endef
define Package/luci-app-olsr
$(call Package/luci/webtemplate)
- DEPENDS+=+luci-mod-admin-core +olsrd-mod-txtinfo
+ DEPENDS+=+luci-mod-admin-full +olsrd-mod-txtinfo
TITLE:=OLSR configuration and status module
endef
define Package/luci-app-splash
$(call Package/luci/fftemplate)
- DEPENDS+=+iptables-mod-nat +iptables-mod-ipopt
+ DEPENDS+=+luasocket +iptables-mod-nat +iptables-mod-ipopt
TITLE:=Freifunk DHCP-Splash application
endef
define Package/luci-app-statistics
$(call Package/luci/webtemplate)
- DEPENDS+=+luci-mod-admin-core +collectd +collectd-mod-rrdtool1 +rrdtool1
+ DEPENDS+=+luci-mod-admin-full +collectd +collectd-mod-rrdtool1 +rrdtool1
TITLE:=LuCI Statistics Application
endef
endef
+define Package/luci-app-upnp
+ $(call Package/luci/webtemplate)
+ DEPENDS+=+luci-mod-admin-core +miniupnpd
+ TITLE:=Universal Plug & Play configuration module
+endef
+
+define Package/luci-app-upnp/install
+ $(call Package/luci/install/template,$(1),applications/luci-upnp)
+endef
+
+
+define Package/luci-app-ntpc
+ $(call Package/luci/webtemplate)
+ DEPENDS+=+luci-mod-admin-core +ntpclient
+ TITLE:=NTP time synchronisation client configuration module
+endef
+
+define Package/luci-app-ntpc/install
+ $(call Package/luci/install/template,$(1),applications/luci-ntpc)
+endef
+
+
+define Package/luci-app-ddns
+ $(call Package/luci/webtemplate)
+ DEPENDS+=+luci-mod-admin-core +ddns-scripts
+ TITLE:=Dynamic DNS configuration module
+endef
+
+define Package/luci-app-ddns/install
+ $(call Package/luci/install/template,$(1),applications/luci-ddns)
+endef
+
+
### Server Gateway Interfaces ###
define Package/luci-sgi-cgi
$(call Package/luci/libtemplate)
- DEPENDS+=+luci-web
TITLE:=SGI for CGI
endef
define Package/luci-sgi-luci
$(call Package/luci/libtemplate)
- DEPENDS+=+luci-web +luci-httpd
+ DEPENDS+=+luci-httpd
TITLE:=SGI for LuCI HTTPD
endef
define Package/luci-sgi-webuci
$(call Package/luci/libtemplate)
- DEPENDS+=+luci-web
TITLE:=SGI for Webuci
endef
define Package/luci-i18n-english
$(call Package/luci/i18ntemplate)
- TITLE:=English (incomplete)
+ TITLE:=English
endef
define Package/luci-i18n-english/install
endef
+define Package/luci-i18n-french
+ $(call Package/luci/i18ntemplate)
+ TITLE:=French
+endef
+
+define Package/luci-i18n-french/install
+ $(call Package/luci/install/template,$(1),i18n/french)
+endef
+
+
+
### Compile ###
ifneq ($(CONFIG_PACKAGE_luci-core),)
ifneq ($(CONFIG_PACKAGE_luci-ff-hannover),)
PKG_SELECTED_MODULES+=applications/community-hannover
endif
+ifneq ($(CONFIG_PACKAGE_luci-ff-berlin),)
+ PKG_SELECTED_MODULES+=applications/community-berlin
+endif
+ifneq ($(CONFIG_PACKAGE_luci-ff-augsburg),)
+ PKG_SELECTED_MODULES+=applications/community-augsburg
+endif
ifneq ($(CONFIG_PACKAGE_luci-mod-admin-core),)
PKG_SELECTED_MODULES+=modules/admin-core
endif
+ifneq ($(CONFIG_PACKAGE_luci-mod-admin-mini),)
+ PKG_SELECTED_MODULES+=modules/admin-mini
+endif
+ifneq ($(CONFIG_PACKAGE_luci-mod-admin-full),)
+ PKG_SELECTED_MODULES+=modules/admin-full
+endif
ifneq ($(CONFIG_PACKAGE_luci-mod-freifunk),)
PKG_SELECTED_MODULES+=modules/freifunk
endif
ifneq ($(CONFIG_PACKAGE_luci-app-statistics),)
PKG_SELECTED_MODULES+=applications/luci-statistics
endif
+ifneq ($(CONFIG_PACKAGE_luci-app-upnp),)
+ PKG_SELECTED_MODULES+=applications/luci-upnp
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-ntpc),)
+ PKG_SELECTED_MODULES+=applications/luci-ntpc
+endif
+ifneq ($(CONFIG_PACKAGE_luci-app-ddns),)
+ PKG_SELECTED_MODULES+=applications/luci-ddns
+endif
ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),)
PKG_SELECTED_MODULES+=libs/sgi-cgi
ifneq ($(CONFIG_PACKAGE_luci-i18n-english),)
PKG_SELECTED_MODULES+=i18n/english
endif
+ifneq ($(CONFIG_PACKAGE_luci-i18n-french),)
+ PKG_SELECTED_MODULES+=i18n/french
+endif
-MAKE_FLAGS += MODULES="$(PKG_SELECTED_MODULES)" LUA_TARGET="$(LUA_TARGET)" CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" LDFLAGS="$(TARGET_LDFLAGS)"
+MAKE_FLAGS += \
+ MODULES="$(PKG_SELECTED_MODULES)" \
+ LUA_TARGET="$(LUA_TARGET)" \
+ LUA_SHLIBS="-llua -lm" \
+ CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \
+ LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib" \
+ OS="Linux"
$(eval $(call BuildPackage,luci-core))
$(eval $(call BuildPackage,luci-ff-halle))
$(eval $(call BuildPackage,luci-ff-leipzig))
$(eval $(call BuildPackage,luci-ff-hannover))
+$(eval $(call BuildPackage,luci-ff-berlin))
+$(eval $(call BuildPackage,luci-ff-augsburg))
$(eval $(call BuildPackage,luci-mod-admin-core))
+$(eval $(call BuildPackage,luci-mod-admin-mini))
+$(eval $(call BuildPackage,luci-mod-admin-full))
$(eval $(call BuildPackage,luci-mod-freifunk))
$(eval $(call BuildPackage,luci-app-ffwizard-leipzig))
$(eval $(call BuildPackage,luci-app-qos))
$(eval $(call BuildPackage,luci-app-splash))
$(eval $(call BuildPackage,luci-app-statistics))
+$(eval $(call BuildPackage,luci-app-upnp))
+$(eval $(call BuildPackage,luci-app-ntpc))
+$(eval $(call BuildPackage,luci-app-ddns))
$(eval $(call BuildPackage,luci-sgi-cgi))
$(eval $(call BuildPackage,luci-sgi-luci))
$(eval $(call BuildPackage,luci-i18n-german))
$(eval $(call BuildPackage,luci-i18n-english))
+$(eval $(call BuildPackage,luci-i18n-french))