summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--contrib/package/luci/Makefile40
-rw-r--r--libs/sgi-luci/Makefile2
-rwxr-xr-xlibs/sgi-luci/root/etc/init.d/luci-httpd41
-rwxr-xr-xlibs/sgi-luci/root/usr/bin/luci-httpd33
4 files changed, 116 insertions, 0 deletions
diff --git a/contrib/package/luci/Makefile b/contrib/package/luci/Makefile
index 8b03f7956..bc7881300 100644
--- a/contrib/package/luci/Makefile
+++ b/contrib/package/luci/Makefile
@@ -43,6 +43,12 @@ define Package/luci/fftemplate
DEPENDS:=+luci-mod-freifunk
endef
+define Package/luci/httpdtemplate
+ $(call Package/luci/libtemplate)
+ SUBMENU:=LuCI - Non-Forking HTTP-Daemon (EXPERIMENTAL)
+ DEPENDS:=+luci-httpd
+endef
+
define Package/luci/i18ntemplate
$(call Package/luci/libtemplate)
SUBMENU:=LuCI - Translations
@@ -158,6 +164,20 @@ endef
+### HTTPD ###
+
+define Package/luci-httpd
+ $(call Package/luci/httpdtemplate)
+ DEPENDS:=+luci-http +luasocket
+ TITLE:=Server Core
+endef
+
+define Package/luci-httpd/install
+ $(call Package/luci/install/template,$(1),libs/httpd)
+endef
+
+
+
### Community Packages ###
define Package/luci-ff-halle
@@ -332,6 +352,16 @@ define Package/luci-sgi-cgi/install
$(call Package/luci/install/template,$(1),libs/sgi-cgi)
endef
+define Package/luci-sgi-luci
+ $(call Package/luci/libtemplate)
+ DEPENDS+=+luci-web +luci-httpd
+ TITLE:=SGI for LuCI HTTPD
+endef
+
+define Package/luci-sgi-luci/install
+ $(call Package/luci/install/template,$(1),libs/sgi-luci)
+endef
+
define Package/luci-sgi-webuci
$(call Package/luci/libtemplate)
DEPENDS+=+luci-web
@@ -404,6 +434,10 @@ ifneq ($(CONFIG_PACKAGE_luci-web),)
PKG_SELECTED_MODULES+=libs/web
endif
+ifneq ($(CONFIG_PACKAGE_luci-httpd),)
+ PKG_SELECTED_MODULES+=libs/httpd
+endif
+
ifneq ($(CONFIG_PACKAGE_luci-ff-halle),)
PKG_SELECTED_MODULES+=applications/community-halle
endif
@@ -443,6 +477,9 @@ endif
ifneq ($(CONFIG_PACKAGE_luci-sgi-cgi),)
PKG_SELECTED_MODULES+=libs/sgi-cgi
endif
+ifneq ($(CONFIG_PACKAGE_luci-sgi-luci),)
+ PKG_SELECTED_MODULES+=libs/sgi-luci
+endif
ifneq ($(CONFIG_PACKAGE_luci-sgi-webuci),)
PKG_SELECTED_MODULES+=libs/sgi-webuci
endif
@@ -472,6 +509,8 @@ $(eval $(call BuildPackage,luci-http))
$(eval $(call BuildPackage,luci-uci))
$(eval $(call BuildPackage,luci-web))
+$(eval $(call BuildPackage,luci-httpd))
+
$(eval $(call BuildPackage,luci-ff-halle))
$(eval $(call BuildPackage,luci-ff-leipzig))
$(eval $(call BuildPackage,luci-ff-hannover))
@@ -487,6 +526,7 @@ $(eval $(call BuildPackage,luci-app-splash))
$(eval $(call BuildPackage,luci-app-statistics))
$(eval $(call BuildPackage,luci-sgi-cgi))
+$(eval $(call BuildPackage,luci-sgi-luci))
$(eval $(call BuildPackage,luci-sgi-webuci))
$(eval $(call BuildPackage,luci-theme-fledermaus))
diff --git a/libs/sgi-luci/Makefile b/libs/sgi-luci/Makefile
new file mode 100644
index 000000000..81a96f6a8
--- /dev/null
+++ b/libs/sgi-luci/Makefile
@@ -0,0 +1,2 @@
+include ../../build/config.mk
+include ../../build/module.mk \ No newline at end of file
diff --git a/libs/sgi-luci/root/etc/init.d/luci-httpd b/libs/sgi-luci/root/etc/init.d/luci-httpd
new file mode 100755
index 000000000..ce7914a38
--- /dev/null
+++ b/libs/sgi-luci/root/etc/init.d/luci-httpd
@@ -0,0 +1,41 @@
+#!/bin/sh /etc/rc.common
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/bin/luci-httpd
+NAME=luci-httpd
+DESC="HTTP server"
+START=49
+
+test -x $DAEMON || exit 0
+
+set -e
+
+start() {
+ echo -n "Starting $DESC: $NAME"
+ start-stop-daemon -S -q -x $DAEMON
+ echo "."
+}
+
+stop() {
+ echo -n "Stopping $DESC: $NAME"
+ start-stop-daemon -K -q -x $DAEMON
+ echo "."
+}
+
+restart() {
+ echo -n "Restarting $DESC: $NAME... "
+ start-stop-daemon -K -s HUP -q -x $DAEMON
+ echo "done."
+}
+
+reload() {
+ #
+ # If the daemon can reload its config files on the fly
+ # for example by sending it SIGHUP, do it here.
+ #
+ # If the daemon responds to changes in its config file
+ # directly anyway, make this a do-nothing entry.
+ #
+ echo -n "Reloading $DESC configuration... "
+ start-stop-daemon -K -s 1 -q -x $DAEMON
+ echo "done."
+}
diff --git a/libs/sgi-luci/root/usr/bin/luci-httpd b/libs/sgi-luci/root/usr/bin/luci-httpd
new file mode 100755
index 000000000..7f2ee50fa
--- /dev/null
+++ b/libs/sgi-luci/root/usr/bin/luci-httpd
@@ -0,0 +1,33 @@
+#!/usr/bin/lua
+require("luci.httpd")
+require("luci.httpd.server")
+require("luci.httpd.handler.file")
+require("luci.httpd.handler.luci")
+
+DOCROOT = "/www"
+PORT = 8080
+
+collectgarbage("setpause", 150)
+
+serversocket = luci.httpd.Socket("0.0.0.0", PORT)
+
+
+server = luci.httpd.server.Server()
+vhost = luci.httpd.server.VHost()
+
+server:set_default_vhost(vhost)
+
+
+filehandler = luci.httpd.handler.file.Simple(DOCROOT)
+vhost:set_default_handler(filehandler)
+
+lucihandler = luci.httpd.handler.luci.Luci()
+vhost:set_handler("/luci", lucihandler)
+
+io.stderr:write("Starting LuCI HTTPD on port " .. PORT .. "...\n")
+io.stderr:write("Point your browser to http://localhost:" .. PORT .. "/luci\n")
+
+daemon = luci.httpd.Daemon()
+--daemon.debug = true
+daemon:register(serversocket, server:create_daemon_handlers())
+daemon:run()