* Added preliminary OpenWRT support for luci-httpd
authorSteven Barth <steven@midlink.org>
Mon, 23 Jun 2008 21:49:29 +0000 (21:49 +0000)
committerSteven Barth <steven@midlink.org>
Mon, 23 Jun 2008 21:49:29 +0000 (21:49 +0000)
contrib/package/luci/Makefile
libs/sgi-luci/Makefile [new file with mode: 0644]
libs/sgi-luci/root/etc/init.d/luci-httpd [new file with mode: 0755]
libs/sgi-luci/root/usr/bin/luci-httpd [new file with mode: 0755]

index 8b03f79..bc78813 100644 (file)
@@ -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 (file)
index 0000000..81a96f6
--- /dev/null
@@ -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 (executable)
index 0000000..ce7914a
--- /dev/null
@@ -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 (executable)
index 0000000..7f2ee50
--- /dev/null
@@ -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()