diff options
-rw-r--r-- | Makefile | 4 | ||||
-rwxr-xr-x | build/luci.cgi | 8 | ||||
-rw-r--r-- | contrib/uhttpd/Makefile | 30 | ||||
-rw-r--r-- | contrib/uhttpd/patches/001-pass-env.patch | 11 | ||||
-rw-r--r-- | contrib/uhttpd/patches/series | 1 |
5 files changed, 54 insertions, 0 deletions
@@ -61,6 +61,10 @@ ucidefaults: runhttpd: hostenv build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "lua build/lucid.lua" +runuhttpd: hostenv + cp $(realpath build)/luci.cgi $(realpath host)/www/cgi-bin/luci + build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "$(realpath host)/usr/sbin/uhttpd -p 8080 -h $(realpath host)/www -f" + runlua: hostenv build/hostenv.sh $(realpath host) $(LUA_MODULEDIR) $(LUA_LIBRARYDIR) "lua -i build/setup.lua" diff --git a/build/luci.cgi b/build/luci.cgi new file mode 100755 index 000000000..f4b590044 --- /dev/null +++ b/build/luci.cgi @@ -0,0 +1,8 @@ +#!/usr/bin/lua + +dofile "../../build/setup.lua" + +require "luci.cacheloader" +require "luci.sgi.cgi" +luci.dispatcher.indexcache = "/tmp/luci-indexcache" +luci.sgi.cgi.run() diff --git a/contrib/uhttpd/Makefile b/contrib/uhttpd/Makefile new file mode 100644 index 000000000..7b0b37fa9 --- /dev/null +++ b/contrib/uhttpd/Makefile @@ -0,0 +1,30 @@ +include ../../build/config.mk +include ../../build/gccconfig.mk + +UHTTPD_SRC = svn://svn.openwrt.org/openwrt/trunk/package/uhttpd/src +UHTTPD_DIR = uhttpd-src +UHTTPD_PATCHDIR = patches + +all: compile + +include ../../build/module.mk + +$(UHTTPD_DIR)/Makefile: + svn co $(UHTTPD_SRC) $(UHTTPD_DIR) + +$(UHTTPD_DIR)/.prepared: $(UHTTPD_DIR)/Makefile + (cd $(UHTTPD_PATCHDIR); ls *.patch | sort > series) || true + [ -f "$(UHTTPD_PATCHDIR)/series" ] && while read patch; do \ + patch -d $(UHTTPD_DIR) -p1 < $(UHTTPD_PATCHDIR)/$$patch; \ + done < $(UHTTPD_PATCHDIR)/series || true + touch $@ + +compile: $(UHTTPD_DIR)/.prepared + (cd $(UHTTPD_DIR); $(MAKE) LUA_SUPPORT=0 TLS_SUPPORT=0 CGI_SUPPORT=1) + mkdir -p dist/usr/sbin + cp $(UHTTPD_DIR)/uhttpd dist/usr/sbin + +compile-all: compile + +clean: + rm -rf $(UHTTPD_DIR) diff --git a/contrib/uhttpd/patches/001-pass-env.patch b/contrib/uhttpd/patches/001-pass-env.patch new file mode 100644 index 000000000..b69ff1765 --- /dev/null +++ b/contrib/uhttpd/patches/001-pass-env.patch @@ -0,0 +1,11 @@ +--- a/uhttpd-cgi.c ++++ b/uhttpd-cgi.c +@@ -204,7 +204,7 @@ void uh_cgi_request(struct client *cl, s + (pi->stat.st_mode & S_IXOTH) + ) { + /* build environment */ +- clearenv(); ++ //clearenv(); + + /* common information */ + setenv("GATEWAY_INTERFACE", "CGI/1.1", 1); diff --git a/contrib/uhttpd/patches/series b/contrib/uhttpd/patches/series new file mode 100644 index 000000000..dc852df8b --- /dev/null +++ b/contrib/uhttpd/patches/series @@ -0,0 +1 @@ +001-pass-env.patch |