diff options
Diffstat (limited to 'meta/recipes-devtools/rpm/rpm/rpm-lua-fix-print.patch')
-rw-r--r-- | meta/recipes-devtools/rpm/rpm/rpm-lua-fix-print.patch | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-lua-fix-print.patch b/meta/recipes-devtools/rpm/rpm/rpm-lua-fix-print.patch deleted file mode 100644 index 7ab49e97e2..0000000000 --- a/meta/recipes-devtools/rpm/rpm/rpm-lua-fix-print.patch +++ /dev/null @@ -1,104 +0,0 @@ -Lua 'print' statement is not working properly inside of RPM 5 - -The print statement should capture the output and send it to the script -processing engine, and not display it directly to the screen. - -This patch is from: http://rpm5.org/cvs/patchset?cn=17671 - -Upstream-Status: backport (patchset 17671 from rpm5.org) - -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> - -Index: rpm-5.4.14/CHANGES -=================================================================== ---- rpm-5.4.14.orig/CHANGES -+++ rpm-5.4.14/CHANGES -@@ -1,3 +1,4 @@ -+ - jbj: lua: fix: resurrect output capture with lua-5.2. - - jbj: verify: fix: broken logic for %ghost avoidance (Mark Hatle). - - 5.4.13 -> 5.4.14: -Index: rpm-5.4.14/rpmio/rpmlua.c -=================================================================== ---- rpm-5.4.14.orig/rpmio/rpmlua.c -+++ rpm-5.4.14/rpmio/rpmlua.c -@@ -175,7 +175,7 @@ rpmlua rpmluaNew(void) - }; - /*@=readonlytrans =nullassign @*/ - /*@observer@*/ /*@unchecked@*/ -- const luaL_Reg *lib = lualibs; -+ const luaL_Reg *lib; - char *path_buf; - char *path_next; - char *path; -@@ -190,31 +190,34 @@ rpmlua rpmluaNew(void) - - luaL_openlibs(L); - -- for (; lib->name; lib++) { -+ for (lib = lualibs; lib->name; lib++) { - luaL_requiref(L, lib->name, lib->func, 1); -+ lua_pop(L, 1); - } - - { const char * _lua_path = rpmGetPath(rpmluaPath, NULL); - if (_lua_path != NULL) { -+#if defined(LUA_GLOBALSINDEX) - lua_pushliteral(L, "LUA_PATH"); - lua_pushstring(L, _lua_path); -+ lua_rawset(L, LUA_GLOBALSINDEX); -+#else -+ lua_pushstring(L, _lua_path); -+ lua_setglobal(L, "LUA_PATH"); -+#endif - _lua_path = _free(_lua_path); - } - } - - #if defined(LUA_GLOBALSINDEX) -- lua_rawset(L, LUA_GLOBALSINDEX); --#else -- lua_pushglobaltable(L); --#endif - lua_pushliteral(L, "print"); - lua_pushcfunction(L, rpm_print); -- --#if defined(LUA_GLOBALSINDEX) - lua_rawset(L, LUA_GLOBALSINDEX); - #else -- lua_pushglobaltable(L); -+ lua_pushcfunction(L, rpm_print); -+ lua_setglobal(L, "print"); - #endif -+ - rpmluaSetData(lua, "lua", lua); - - /* load all standard RPM Lua script files */ -@@ -351,6 +354,9 @@ void rpmluaSetVar(rpmlua _lua, rpmluav v - #if defined(LUA_GLOBALSINDEX) - if (lua->pushsize == 0) - lua_pushvalue(L, LUA_GLOBALSINDEX); -+#else -+ if (lua->pushsize == 0) -+ lua_pushglobaltable(L); - #endif - if (pushvar(L, var->keyType, &var->key) != -1) { - if (pushvar(L, var->valueType, &var->value) != -1) -@@ -1039,14 +1045,15 @@ static int rpm_print (lua_State *L) - lua_getglobal(L, "tostring"); - for (i = 1; i <= n; i++) { - const char *s; -+ size_t l; - lua_pushvalue(L, -1); /* function to be called */ - lua_pushvalue(L, i); /* value to print */ - lua_call(L, 1, 1); -- s = lua_tostring(L, -1); /* get result */ -+ s = lua_tolstring(L, -1, &l); /* get result */ - if (s == NULL) - return luaL_error(L, "`tostring' must return a string to `print'"); - if (lua->storeprint) { -- size_t sl = lua_rawlen(L, -1); -+ size_t sl = l; - if ((size_t)(lua->printbufused+sl+1) > lua->printbufsize) { - lua->printbufsize += sl+512; - lua->printbuf = (char *) xrealloc(lua->printbuf, lua->printbufsize); |