Browse Source

Update LuCI

Matthias Schiffer 9 years ago
parent
commit
bb6d0f1179

+ 1 - 1
modules

@@ -15,4 +15,4 @@ PACKAGES_ROUTING_COMMIT=1a999ad02b49a5ca1315d7f21555039372a6e4d5
 PACKAGES_ROUTING_BRANCH=for-14.07
 
 PACKAGES_LUCI_REPO=git://git.openwrt.org/project/luci.git
-PACKAGES_LUCI_COMMIT=834961d9f34f5282f98a480196924a42541d1474
+PACKAGES_LUCI_COMMIT=108a146a38f3facc9bdfe1542e6144dc49a67317

+ 0 - 0
patches/packages/luci/0005-fvalue.html-add-label-that-can-be-styled.patch → patches/packages/luci/0001-fvalue.html-add-label-that-can-be-styled.patch


+ 0 - 106
patches/packages/luci/0001-libs-web-rename-template_parser-field-mmap-to-the-more-generic-data.patch

@@ -1,106 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Fri, 16 May 2014 10:57:26 +0200
-Subject: libs/web: rename template_parser field "mmap" to the more generic "data"
-
-diff --git a/modules/base/src/template_parser.c b/modules/base/src/template_parser.c
-index 6054451..fc8607b 100644
---- a/modules/base/src/template_parser.c
-+++ b/modules/base/src/template_parser.c
-@@ -82,15 +82,15 @@ struct template_parser * template_open(const char *file)
- 		goto err;
- 
- 	parser->size = s.st_size;
--	parser->mmap = mmap(NULL, parser->size, PROT_READ, MAP_PRIVATE,
-+	parser->data = mmap(NULL, parser->size, PROT_READ, MAP_PRIVATE,
- 						parser->fd, 0);
- 
--	if (parser->mmap != MAP_FAILED)
-+	if (parser->data != MAP_FAILED)
- 	{
--		parser->off = parser->mmap;
-+		parser->off = parser->data;
- 		parser->cur_chunk.type = T_TYPE_INIT;
--		parser->cur_chunk.s    = parser->mmap;
--		parser->cur_chunk.e    = parser->mmap;
-+		parser->cur_chunk.s    = parser->data;
-+		parser->cur_chunk.e    = parser->data;
- 
- 		return parser;
- 	}
-@@ -108,8 +108,8 @@ void template_close(struct template_parser *parser)
- 	if (parser->gc != NULL)
- 		free(parser->gc);
- 
--	if ((parser->mmap != NULL) && (parser->mmap != MAP_FAILED))
--		munmap(parser->mmap, parser->size);
-+	if ((parser->data != NULL) && (parser->data != MAP_FAILED))
-+		munmap(parser->data, parser->size);
- 
- 	if (parser->fd >= 0)
- 		close(parser->fd);
-@@ -121,7 +121,7 @@ void template_text(struct template_parser *parser, const char *e)
- {
- 	const char *s = parser->off;
- 
--	if (s < (parser->mmap + parser->size))
-+	if (s < (parser->data + parser->size))
- 	{
- 		if (parser->strip_after)
- 		{
-@@ -291,7 +291,7 @@ template_format_chunk(struct template_parser *parser, size_t *sz)
- const char *template_reader(lua_State *L, void *ud, size_t *sz)
- {
- 	struct template_parser *parser = ud;
--	int rem = parser->size - (parser->off - parser->mmap);
-+	int rem = parser->size - (parser->off - parser->data);
- 	char *tag;
- 
- 	parser->prv_chunk = parser->cur_chunk;
-@@ -314,8 +314,8 @@ const char *template_reader(lua_State *L, void *ud, size_t *sz)
- 		}
- 		else
- 		{
--			template_text(parser, parser->mmap + parser->size);
--			parser->off = parser->mmap + parser->size;
-+			template_text(parser, parser->data + parser->size);
-+			parser->off = parser->data + parser->size;
- 		}
- 	}
- 
-@@ -331,7 +331,7 @@ const char *template_reader(lua_State *L, void *ud, size_t *sz)
- 		else
- 		{
- 			/* unexpected EOF */
--			template_code(parser, parser->mmap + parser->size);
-+			template_code(parser, parser->data + parser->size);
- 
- 			*sz = 1;
- 			return "\033";
-@@ -366,12 +366,12 @@ int template_error(lua_State *L, struct template_parser *parser)
- 
- 	if (strfind((char *)err, strlen(err), "'char(27)'", 10) != NULL)
- 	{
--		off = parser->mmap + parser->size;
-+		off = parser->data + parser->size;
- 		err = "'%>' expected before end of file";
- 		chunkline = 0;
- 	}
- 
--	for (ptr = parser->mmap; ptr < off; ptr++)
-+	for (ptr = parser->data; ptr < off; ptr++)
- 		if (*ptr == '\n')
- 			line++;
- 
-diff --git a/modules/base/src/template_parser.h b/modules/base/src/template_parser.h
-index d1c6062..ad03cbc 100644
---- a/modules/base/src/template_parser.h
-+++ b/modules/base/src/template_parser.h
-@@ -58,7 +58,7 @@ struct template_chunk {
- struct template_parser {
- 	int fd;
- 	uint32_t size;
--	char *mmap;
-+	char *data;
- 	char *off;
- 	char *gc;
- 	int line;

+ 0 - 17
patches/packages/luci/0002-libs-web-remove-strange-static-on-variable-declaration.patch

@@ -1,17 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Fri, 16 May 2014 11:29:22 +0200
-Subject: libs/web: remove strange 'static' on variable declaration
-
-diff --git a/modules/base/src/template_parser.c b/modules/base/src/template_parser.c
-index fc8607b..1aa5131 100644
---- a/modules/base/src/template_parser.c
-+++ b/modules/base/src/template_parser.c
-@@ -66,7 +66,7 @@ static char *strfind(char *haystack, int hslen, const char *needle, int ndlen)
- struct template_parser * template_open(const char *file)
- {
- 	struct stat s;
--	static struct template_parser *parser;
-+	struct template_parser *parser;
- 
- 	if (!(parser = malloc(sizeof(*parser))))
- 		goto err;

+ 0 - 142
patches/packages/luci/0003-libs-web-add-support-for-string-templates-to-the-template-parser.patch

@@ -1,142 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Fri, 16 May 2014 11:37:21 +0200
-Subject: libs/web: add support for string templates to the template parser
-
-diff --git a/modules/base/src/template_lualib.c b/modules/base/src/template_lualib.c
-index 0d43641..1035611 100644
---- a/modules/base/src/template_lualib.c
-+++ b/modules/base/src/template_lualib.c
-@@ -18,10 +18,8 @@
- 
- #include "template_lualib.h"
- 
--int template_L_parse(lua_State *L)
-+static int template_L_do_parse(lua_State *L, struct template_parser *parser, const char *chunkname)
- {
--	const char *file = luaL_checkstring(L, 1);
--	struct template_parser *parser = template_open(file);
- 	int lua_status, rv;
- 
- 	if (!parser)
-@@ -32,7 +30,7 @@ int template_L_parse(lua_State *L)
- 		return 3;
- 	}
- 
--	lua_status = lua_load(L, template_reader, parser, file);
-+	lua_status = lua_load(L, template_reader, parser, chunkname);
- 
- 	if (lua_status == 0)
- 		rv = 1;
-@@ -44,6 +42,23 @@ int template_L_parse(lua_State *L)
- 	return rv;
- }
- 
-+int template_L_parse(lua_State *L)
-+{
-+	const char *file = luaL_checkstring(L, 1);
-+	struct template_parser *parser = template_open(file);
-+
-+	return template_L_do_parse(L, parser, file);
-+}
-+
-+int template_L_parse_string(lua_State *L)
-+{
-+	size_t len;
-+	const char *str = luaL_checklstring(L, 1, &len);
-+	struct template_parser *parser = template_string(str, len);
-+
-+	return template_L_do_parse(L, parser, "[string]");
-+}
-+
- int template_L_utf8(lua_State *L)
- {
- 	size_t len = 0;
-@@ -146,6 +161,7 @@ static int template_L_hash(lua_State *L) {
- /* module table */
- static const luaL_reg R[] = {
- 	{ "parse",				template_L_parse },
-+	{ "parse_string",		template_L_parse_string },
- 	{ "utf8",				template_L_utf8 },
- 	{ "pcdata",				template_L_pcdata },
- 	{ "striptags",			template_L_striptags },
-diff --git a/modules/base/src/template_parser.c b/modules/base/src/template_parser.c
-index 1aa5131..c263fbf 100644
---- a/modules/base/src/template_parser.c
-+++ b/modules/base/src/template_parser.c
-@@ -100,6 +100,36 @@ err:
- 	return NULL;
- }
- 
-+struct template_parser * template_string(const char *str, uint32_t len)
-+{
-+	struct template_parser *parser;
-+
-+	if (!str) {
-+		errno = EINVAL;
-+		goto err;
-+	}
-+
-+	if (!(parser = malloc(sizeof(*parser))))
-+		goto err;
-+
-+	memset(parser, 0, sizeof(*parser));
-+	parser->fd = -1;
-+
-+	parser->size = len;
-+	parser->data = (char*)str;
-+
-+	parser->off = parser->data;
-+	parser->cur_chunk.type = T_TYPE_INIT;
-+	parser->cur_chunk.s    = parser->data;
-+	parser->cur_chunk.e    = parser->data;
-+
-+	return parser;
-+
-+err:
-+	template_close(parser);
-+	return NULL;
-+}
-+
- void template_close(struct template_parser *parser)
- {
- 	if (!parser)
-@@ -108,11 +138,14 @@ void template_close(struct template_parser *parser)
- 	if (parser->gc != NULL)
- 		free(parser->gc);
- 
--	if ((parser->data != NULL) && (parser->data != MAP_FAILED))
--		munmap(parser->data, parser->size);
-+	/* if file is not set, we were parsing a string */
-+	if (parser->file) {
-+		if ((parser->data != NULL) && (parser->data != MAP_FAILED))
-+			munmap(parser->data, parser->size);
- 
--	if (parser->fd >= 0)
--		close(parser->fd);
-+		if (parser->fd >= 0)
-+			close(parser->fd);
-+	}
- 
- 	free(parser);
- }
-@@ -376,7 +409,7 @@ int template_error(lua_State *L, struct template_parser *parser)
- 			line++;
- 
- 	snprintf(msg, sizeof(msg), "Syntax error in %s:%d: %s",
--			 parser->file, line + chunkline, err ? err : "(unknown error)");
-+			 parser->file ? parser->file : "[string]", line + chunkline, err ? err : "(unknown error)");
- 
- 	lua_pushnil(L);
- 	lua_pushinteger(L, line + chunkline);
-diff --git a/modules/base/src/template_parser.h b/modules/base/src/template_parser.h
-index ad03cbc..a3200a2 100644
---- a/modules/base/src/template_parser.h
-+++ b/modules/base/src/template_parser.h
-@@ -71,6 +71,7 @@ struct template_parser {
- };
- 
- struct template_parser * template_open(const char *file);
-+struct template_parser * template_string(const char *str, uint32_t len);
- void template_close(struct template_parser *parser);
- 
- const char *template_reader(lua_State *L, void *ud, size_t *sz);

+ 0 - 67
patches/packages/luci/0004-libs-web-add-support-for-string-templates-to-luci.template-module.patch

@@ -1,67 +0,0 @@
-From: Matthias Schiffer <mschiffer@universe-factory.net>
-Date: Fri, 16 May 2014 11:48:42 +0200
-Subject: libs/web: add support for string templates to luci.template module
-
-diff --git a/modules/base/luasrc/template.lua b/modules/base/luasrc/template.lua
-index 72127d1..ea01d3c 100644
---- a/modules/base/luasrc/template.lua
-+++ b/modules/base/luasrc/template.lua
-@@ -50,6 +50,13 @@ function render(name, scope)
- 	return Template(name):render(scope or getfenv(2))
- end
- 
-+--- Render a template from a string.
-+-- @param template	Template string
-+-- @param scope		Scope to assign to template (optional)
-+function render_string(template, scope)
-+	return Template(nil, template):render(scope or getfenv(2))
-+end
-+
- 
- -- Template class
- Template = util.class()
-@@ -59,11 +66,14 @@ Template.cache = setmetatable({}, {__mode = "v"})
- 
- 
- -- Constructor - Reads and compiles the template on-demand
--function Template.__init__(self, name)	
-+function Template.__init__(self, name, template)
-+	if name then
-+		self.template = self.cache[name]
-+		self.name = name
-+	else
-+		self.name = "[string]"
-+	end
- 
--	self.template = self.cache[name]
--	self.name = name
--	
- 	-- Create a new namespace for this template
- 	self.viewns = context.viewns
- 	
-@@ -72,16 +82,22 @@ function Template.__init__(self, name)
- 
- 		-- Compile template
- 		local err
--		local sourcefile = viewdir .. "/" .. name .. ".htm"
-+		local sourcefile
- 
--		self.template, _, err = tparser.parse(sourcefile)
-+		if name then
-+			sourcefile = viewdir .. "/" .. name .. ".htm"
-+			self.template, _, err = tparser.parse(sourcefile)
-+		else
-+			sourcefile = "[string]"
-+			self.template, _, err = tparser.parse_string(template)
-+		end
- 
- 		-- If we have no valid template throw error, otherwise cache the template
- 		if not self.template then
- 			error("Failed to load template '" .. name .. "'.\n" ..
- 			      "Error while parsing template '" .. sourcefile .. "':\n" ..
- 			      (err or "Unknown syntax error"))
--		else
-+		elseif name then
- 			self.cache[name] = self.template
- 		end
- 	end