32d82b500b7000e837ba42fa6f87180b96deb695
[project/luci.git] / contrib / package / ffluci / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_BRANCH:=trunk
4 PKG_SOURCE_URL:=https://dev.leipzig.freifunk.net/svn/ff-luci/$(PKG_BRANCH)
5 PKG_REV:=$(shell LC_ALL=C svn info ${PKG_SOURCE_URL} | sed -ne's/^Last Changed Rev: //p')
6
7 PKG_NAME:=ffluci
8 PKG_VERSION:=0.4+svn$(PKG_REV)
9 PKG_RELEASE:=1
10
11 PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
12 PKG_SOURCE_PROTO:=svn
13 PKG_SOURCE_VERSION:=$(PKG_REV)
14 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
15
16 PKG_BUILD_DEPENDS:=lua-luci
17
18 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
19 PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
20
21 # LUA_TARGET:=compile LUAC=$(BUILD_DIR_HOST)/lua-luci/luac
22 LUA_TARGET:=source
23
24
25 include $(INCLUDE_DIR)/package.mk
26
27 define Build/Configure
28 endef
29
30 define Build/Compile
31         $(MAKE) -C$(PKG_BUILD_DIR) build LUA_TARGET=$(LUA_TARGET)
32 endef
33
34
35 define Package/ffluci/template
36   SECTION:=admin
37   CATEGORY:=Administration
38   TITLE:=FFLuCI - Freifunk Lua Configuration Interface
39   URL:=http://luci.freifunk-halle.net/
40   MAINTAINER:=Steven Barth <steven-at-midlink-dot-org>
41 endef
42
43 define Package/ffluci/install/template
44   $(CP) $(PKG_BUILD_DIR)/$(2)/dist/* $(1)/ -R
45   
46   for i in $(PKG_BUILD_DIR)/$(2)/dist/usr/bin/*; do $(INSTALL_BIN) $$i $(1)/usr/bin/; done
47   for i in $(PKG_BUILD_DIR)/$(2)/dist/usr/sbin/*; do $(INSTALL_BIN) $$i $(1)/usr/sbin/; done
48   for i in $(PKG_BUILD_DIR)/$(2)/dist/bin/*; do $(INSTALL_BIN) $$i $(1)/bin/; done
49   for i in $(PKG_BUILD_DIR)/$(2)/dist/sbin/*; do $(INSTALL_BIN) $$i $(1)/sbin/; done
50 endef
51
52
53 define Package/ffluci
54   $(call Package/ffluci/template)
55   MENU:=1
56   DEPENDS:=+lua-luci +luaposix +luci-addons
57 endef
58
59 define Package/ffluci/conffiles
60 /etc/config/luci
61 endef
62
63 define Package/ffluci/install           
64   $(call Package/ffluci/install/template,$(1),core)
65   $(call Package/ffluci/install/template,$(1),themes/fledermaus)
66 endef
67
68
69
70 ### Meta Packages ###
71
72 define Package/ffluci-freifunk-meta
73   $(call Package/ffluci/template)
74   DEPENDS:=+ffluci +ffluci-sgi-haserl +ffluci-freifunk +ffluci-firewall +ffluci-splash
75   TITLE:=Freifunk Meta-Package
76 endef
77
78 define Package/ffluci-meta/install
79 endef
80
81
82 define Package/ffluci-freifunk-halle
83   $(call Package/ffluci/template)
84   DEPENDS:=+ffluci-freifunk-meta +kmod-tun
85   TITLE:=Community Meta-Package Halle
86 endef
87
88 define Package/ffluci-freifunk-halle/install
89 endef
90
91
92 define Package/ffluci-freifunk-leipzig
93   $(call Package/ffluci/template)
94   DEPENDS:=+ffluci-freifunk-meta +kmod-tun
95   TITLE:=Community Meta-Package Leipzig
96 endef
97
98 define Package/ffluci-freifunk-leipzig/install
99   $(call Package/ffluci/install/template,$(1),applications/community-leipzig)
100 endef
101
102
103
104 ### Modules ###
105
106 define Package/ffluci-module-admin-core
107   $(call Package/ffluci/template)
108   DEPENDS:=+ffluci
109   TITLE:=Core Administrative pages for FFLuCI
110 endef
111
112 define Package/ffluci-module-admin-core/install
113   $(call Package/ffluci/install/template,$(1),modules/admin-core)
114 endef
115
116
117 define Package/ffluci-module-freifunk
118   $(call Package/ffluci/template)
119   DEPENDS:=+ffluci +ffluci-module-admin-core
120   TITLE:=Freifunk public and configuration pages
121 endef
122
123 define Package/ffluci-module-freifunk/conffiles
124 /etc/config/freifunk
125 endef
126
127 define Package/ffluci-module-freifunk/install
128   $(call Package/ffluci/install/template,$(1),modules/freifunk)
129 endef
130
131
132
133 ### Applications ###
134
135 define Package/ffluci-firewall
136   $(call Package/ffluci/template)
137   DEPENDS:=+ffluci +ffluci-module-admin-core
138   TITLE:=Firewall and Portforwarding module
139 endef
140
141 define Package/ffluci-firewall/conffiles
142 /etc/config/luci_fw
143 endef
144
145 define Package/ffluci-firewall/install
146   $(call Package/ffluci/install/template,$(1),applications/luci-fw)
147 endef
148
149
150 define Package/ffluci-splash
151   $(call Package/ffluci/template)
152   DEPENDS:=+ffluci +ffluci-freifunk +ffluci-sgi-haserl +iptables-mod-nat
153   TITLE:=Freifunk DHCP-Splash
154 endef
155
156 define Package/ffluci-splash/conffiles
157 /etc/config/luci_splash
158 endef
159
160 define Package/ffluci-splash/install
161   $(call Package/ffluci/install/template,$(1),applications/luci-splash)
162 endef
163
164
165
166 ### Server Gateway Interfaces ###
167
168 define Package/ffluci-sgi-haserl
169   $(call Package/ffluci/template)
170   DEPENDS:=+ffluci +haserl-lua
171   TITLE:=SGI for Haserl on top of Busybox httpd
172 endef
173
174 define Package/ffluci-sgi-haserl/install
175   $(call Package/ffluci/install/template,$(1),applications/sgi-haserl)
176 endef
177
178
179 define Package/ffluci-sgi-webuci
180   $(call Package/ffluci/template)
181   DEPENDS:=+ffluci
182   TITLE:=SGI for Webuci
183 endef
184
185 define Package/ffluci-sgi-webuci/install
186   $(call Package/ffluci/install/template,$(1),applications/sgi-webuci)
187 endef
188
189
190
191
192 $(eval $(call BuildPackage,ffluci))
193
194 $(eval $(call BuildPackage,ffluci-freifunk-meta))
195 $(eval $(call BuildPackage,ffluci-freifunk-halle))
196 $(eval $(call BuildPackage,ffluci-freifunk-leipzig))
197
198 $(eval $(call BuildPackage,ffluci-module-admin-core))
199 $(eval $(call BuildPackage,ffluci-module-freifunk))
200
201 $(eval $(call BuildPackage,ffluci-firewall))
202 $(eval $(call BuildPackage,ffluci-splash))
203
204 $(eval $(call BuildPackage,ffluci-sgi-haserl))
205 $(eval $(call BuildPackage,ffluci-sgi-webuci))