From: Jo-Philipp Wich Date: Fri, 16 Apr 2010 13:38:27 +0000 (+0000) Subject: build: add runuhttpd sdk target X-Git-Tag: 0.10.0~717 X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fluci.git;a=commitdiff_plain;h=daca626e86ff51e72f6423f3fb69e1a1d16d7c59 build: add runuhttpd sdk target --- diff --git a/Makefile b/Makefile index 3b46544a4..ceb80ac24 100644 --- a/Makefile +++ b/Makefile @@ -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