From 45676aa030e69ebdf32a557a208cc50b431d7963 Mon Sep 17 00:00:00 2001 From: Anas Nashif Date: Mon, 5 Nov 2012 11:09:03 -0800 Subject: [PATCH] add packaging --- packaging/lua.spec | 8 -- packaging/lua51-5.1.4-libdir.diff | 13 -- packaging/lua51-5.1.4-module-path.diff | 21 ---- packaging/lua51-5.1.4-shared.diff | 91 -------------- packaging/lua51-5.1.4-upstream-bugfix.diff | 196 ----------------------------- packaging/macros.lua | 10 ++ 6 files changed, 10 insertions(+), 329 deletions(-) delete mode 100644 packaging/lua51-5.1.4-libdir.diff delete mode 100644 packaging/lua51-5.1.4-module-path.diff delete mode 100644 packaging/lua51-5.1.4-shared.diff delete mode 100644 packaging/lua51-5.1.4-upstream-bugfix.diff create mode 100644 packaging/macros.lua diff --git a/packaging/lua.spec b/packaging/lua.spec index 8e2d6d6..88600aa 100644 --- a/packaging/lua.spec +++ b/packaging/lua.spec @@ -8,10 +8,6 @@ Group: System/Libraries Source: %{name}-%{version}.tar.gz Source1: macros.lua Source2: baselibs.conf -Patch0: lua51-%{version}-shared.diff -Patch1: lua51-%{version}-module-path.diff -Patch2: lua51-%{version}-upstream-bugfix.diff -Patch3: lua51-%{version}-libdir.diff %define major_version 5.1 BuildRequires: pkg-config BuildRequires: readline-devel @@ -80,10 +76,6 @@ simplicity, efficiency, portability, and low embedding cost. %prep %setup -q -n lua-%{version} -%patch0 -b .shared -%patch1 -p1 -%patch2 -%patch3 -p1 %build sed -i 's:LUA_ROOT2 "LIBDIR/lua/%{major_version}/":LUA_ROOT2 \"%{_lib}/lua/%{major_version}/":' src/luaconf.h diff --git a/packaging/lua51-5.1.4-libdir.diff b/packaging/lua51-5.1.4-libdir.diff deleted file mode 100644 index c370527..0000000 --- a/packaging/lua51-5.1.4-libdir.diff +++ /dev/null @@ -1,13 +0,0 @@ -Index: lua-5.1.4/etc/lua.pc -=================================================================== ---- lua-5.1.4.orig/etc/lua.pc -+++ lua-5.1.4/etc/lua.pc -@@ -25,7 +25,7 @@ Name: Lua - Description: An Extensible Extension Language - Version: ${R} - Requires: --Libs: -L${libdir} -llua -lm -+Libs: -llua -lm - Cflags: -I${includedir} - - # (end of lua.pc) diff --git a/packaging/lua51-5.1.4-module-path.diff b/packaging/lua51-5.1.4-module-path.diff deleted file mode 100644 index f7eb350..0000000 --- a/packaging/lua51-5.1.4-module-path.diff +++ /dev/null @@ -1,21 +0,0 @@ -diff -urNad trunk~/src/luaconf.h trunk/src/luaconf.h ---- trunk~/src/luaconf.h 2006-02-10 12:44:06.000000000 -0500 -+++ trunk/src/luaconf.h 2006-02-17 21:32:55.000000000 -0500 -@@ -83,13 +83,17 @@ - - #else - #define LUA_ROOT "/usr/local/" -+#define LUA_ROOT2 "/usr/" - #define LUA_LDIR LUA_ROOT "share/lua/5.1/" -+#define LUA_LDIR2 LUA_ROOT2 "share/lua/5.1/" - #define LUA_CDIR LUA_ROOT "lib/lua/5.1/" -+#define LUA_CDIR2 LUA_ROOT2 "LIBDIR/lua/5.1/" - #define LUA_PATH_DEFAULT \ - "./?.lua;" LUA_LDIR"?.lua;" LUA_LDIR"?/init.lua;" \ -- LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua" -+ LUA_CDIR"?.lua;" LUA_CDIR"?/init.lua;" \ -+ LUA_LDIR2"?.lua;" LUA_LDIR2"?/init.lua" - #define LUA_CPATH_DEFAULT \ -- "./?.so;" LUA_CDIR"?.so;" LUA_CDIR"loadall.so" -+ "./?.so;" LUA_CDIR"?.so;" LUA_CDIR2"?.so;" LUA_CDIR"loadall.so" - #endif diff --git a/packaging/lua51-5.1.4-shared.diff b/packaging/lua51-5.1.4-shared.diff deleted file mode 100644 index c455556..0000000 --- a/packaging/lua51-5.1.4-shared.diff +++ /dev/null @@ -1,91 +0,0 @@ -Index: etc/lua.pc -=================================================================== ---- etc/lua.pc.orig -+++ etc/lua.pc -@@ -8,7 +8,7 @@ V= 5.1 - R= 5.1.4 - - # grep '^INSTALL_.*=' ../Makefile | sed 's/INSTALL_TOP/prefix/' --prefix= /usr/local -+prefix= /usr - INSTALL_BIN= ${prefix}/bin - INSTALL_INC= ${prefix}/include - INSTALL_LIB= ${prefix}/lib -Index: src/luaconf.h -=================================================================== ---- src/luaconf.h.orig -+++ src/luaconf.h -@@ -184,7 +184,7 @@ - - #elif defined(__GNUC__) && ((__GNUC__*100 + __GNUC_MINOR__) >= 302) && \ - defined(__ELF__) --#define LUAI_FUNC __attribute__((visibility("hidden"))) extern -+#define LUAI_FUNC extern - #define LUAI_DATA LUAI_FUNC - - #else -Index: src/Makefile -=================================================================== ---- src/Makefile.orig -+++ src/Makefile -@@ -23,6 +23,7 @@ MYLIBS= - PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris - - LUA_A= liblua.a -+LUA_SO= liblua.so - CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \ - lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \ - lundump.o lvm.o lzio.o -@@ -36,7 +37,7 @@ LUAC_T= luac - LUAC_O= luac.o print.o - - ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) --ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) -+ALL_T= $(LUA_SO) $(LUA_A) $(LUA_T) $(LUAC_T) - ALL_A= $(LUA_A) - - default: $(PLAT) -@@ -47,15 +48,20 @@ o: $(ALL_O) - - a: $(ALL_A) - -+# shared libraries (for Linux) -+$(LUA_SO): $(CORE_O) $(LIB_O) -+ $(CC) -o $(LUA_SO).$V -shared -Wl,-soname,$(LUA_SO).$V $(CORE_O) $(LIB_O) -lm -ldl -+ ln -fs $(LUA_SO).$(V) $(LUA_SO) -+ - $(LUA_A): $(CORE_O) $(LIB_O) - $(AR) $@ $? - $(RANLIB) $@ - - $(LUA_T): $(LUA_O) $(LUA_A) -- $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) -+ $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) -L. -llua $(LIBS) - - $(LUAC_T): $(LUAC_O) $(LUA_A) -- $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) -+ $(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) -L. -llua $(LIBS) - - clean: - $(RM) $(ALL_T) $(ALL_O) -Index: Makefile -=================================================================== ---- Makefile.orig -+++ Makefile -@@ -43,7 +43,7 @@ PLATS= aix ansi bsd freebsd generic linu - # What to install. - TO_BIN= lua luac - TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp --TO_LIB= liblua.a -+TO_LIB= liblua.a liblua.so.$(V) - TO_MAN= lua.1 luac.1 - - # Lua version and release. -@@ -62,6 +62,7 @@ install: dummy - cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD) - cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN) - cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC) -+ ln -s liblua.so.$(V) $(INSTALL_LIB)/liblua.so - cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB) - cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN) - diff --git a/packaging/lua51-5.1.4-upstream-bugfix.diff b/packaging/lua51-5.1.4-upstream-bugfix.diff deleted file mode 100644 index 34fdba8..0000000 --- a/packaging/lua51-5.1.4-upstream-bugfix.diff +++ /dev/null @@ -1,196 +0,0 @@ -# patch-lua-5.1.4-2 created 2010-05-14T21:02:40-0300 -# apply to a pristine copy of Lua 5.1.4 with: -# wget http://www.lua.org/ftp/lua-5.1.4.tar.gz -# tar zxf lua-5.1.4.tar.gz -# cd lua-5.1.4/src -# wget http://www.lua.org/ftp/patch-lua-5.1.4-2 -# patch < patch-lua-5.1.4-2 -# use curl -O -R if you don't have wget - ---- src/lcode.c 2007/12/28 15:32:23 2.25.1.3 -+++ src/lcode.c 2009/06/15 14:12:25 2.25.1.4 -@@ -1,5 +1,5 @@ - /* --** $Id: lcode.c,v 2.25.1.3 2007/12/28 15:32:23 roberto Exp $ -+** $Id: lcode.c,v 2.25.1.4 2009/06/15 14:12:25 roberto Exp $ - ** Code generator for Lua - ** See Copyright Notice in lua.h - */ -@@ -544,15 +544,18 @@ - pc = NO_JUMP; /* always true; do nothing */ - break; - } -- case VFALSE: { -- pc = luaK_jump(fs); /* always jump */ -- break; -- } - case VJMP: { - invertjump(fs, e); - pc = e->u.s.info; - break; - } -+ case VFALSE: { -+ if (!hasjumps(e)) { -+ pc = luaK_jump(fs); /* always jump */ -+ break; -+ } -+ /* else go through */ -+ } - default: { - pc = jumponcond(fs, e, 0); - break; -@@ -572,14 +575,17 @@ - pc = NO_JUMP; /* always false; do nothing */ - break; - } -- case VTRUE: { -- pc = luaK_jump(fs); /* always jump */ -- break; -- } - case VJMP: { - pc = e->u.s.info; - break; - } -+ case VTRUE: { -+ if (!hasjumps(e)) { -+ pc = luaK_jump(fs); /* always jump */ -+ break; -+ } -+ /* else go through */ -+ } - default: { - pc = jumponcond(fs, e, 1); - break; ---- src/ldblib.c 2008/01/21 13:11:21 1.104.1.3 -+++ src/ldblib.c 2009/08/04 18:50:18 1.104.1.4 -@@ -1,5 +1,5 @@ - /* --** $Id: ldblib.c,v 1.104.1.3 2008/01/21 13:11:21 roberto Exp $ -+** $Id: ldblib.c,v 1.104.1.4 2009/08/04 18:50:18 roberto Exp $ - ** Interface from Lua to its debug API - ** See Copyright Notice in lua.h - */ -@@ -45,6 +45,7 @@ - - - static int db_getfenv (lua_State *L) { -+ luaL_checkany(L, 1); - lua_getfenv(L, 1); - return 1; - } ---- src/liolib.c 2008/01/18 17:47:43 2.73.1.3 -+++ src/liolib.c 2010/05/14 15:33:51 2.73.1.4 -@@ -1,5 +1,5 @@ - /* --** $Id: liolib.c,v 2.73.1.3 2008/01/18 17:47:43 roberto Exp $ -+** $Id: liolib.c,v 2.73.1.4 2010/05/14 15:33:51 roberto Exp $ - ** Standard I/O (and system) library - ** See Copyright Notice in lua.h - */ -@@ -276,7 +276,10 @@ - lua_pushnumber(L, d); - return 1; - } -- else return 0; /* read fails */ -+ else { -+ lua_pushnil(L); /* "result" to be removed */ -+ return 0; /* read fails */ -+ } - } - - ---- src/llex.c 2007/12/27 13:02:25 2.20.1.1 -+++ src/llex.c 2009/11/23 14:58:22 2.20.1.2 -@@ -1,5 +1,5 @@ - /* --** $Id: llex.c,v 2.20.1.1 2007/12/27 13:02:25 roberto Exp $ -+** $Id: llex.c,v 2.20.1.2 2009/11/23 14:58:22 roberto Exp $ - ** Lexical Analyzer - ** See Copyright Notice in lua.h - */ -@@ -118,8 +118,10 @@ - lua_State *L = ls->L; - TString *ts = luaS_newlstr(L, str, l); - TValue *o = luaH_setstr(L, ls->fs->h, ts); /* entry for `str' */ -- if (ttisnil(o)) -+ if (ttisnil(o)) { - setbvalue(o, 1); /* make sure `str' will not be collected */ -+ luaC_checkGC(L); -+ } - return ts; - } - ---- src/loadlib.c 2008/08/06 13:29:28 1.52.1.3 -+++ src/loadlib.c 2009/09/09 13:17:16 1.52.1.4 -@@ -1,5 +1,5 @@ - /* --** $Id: loadlib.c,v 1.52.1.3 2008/08/06 13:29:28 roberto Exp $ -+** $Id: loadlib.c,v 1.52.1.4 2009/09/09 13:17:16 roberto Exp $ - ** Dynamic library loader for Lua - ** See Copyright Notice in lua.h - ** -@@ -639,7 +639,7 @@ - lua_pushvalue(L, -1); - lua_replace(L, LUA_ENVIRONINDEX); - /* create `loaders' table */ -- lua_createtable(L, 0, sizeof(loaders)/sizeof(loaders[0]) - 1); -+ lua_createtable(L, sizeof(loaders)/sizeof(loaders[0]) - 1, 0); - /* fill it with pre-defined loaders */ - for (i=0; loaders[i] != NULL; i++) { - lua_pushcfunction(L, loaders[i]); ---- src/lstrlib.c 2008/07/11 17:27:21 1.132.1.4 -+++ src/lstrlib.c 2010/05/14 15:34:19 1.132.1.5 -@@ -1,5 +1,5 @@ - /* --** $Id: lstrlib.c,v 1.132.1.4 2008/07/11 17:27:21 roberto Exp $ -+** $Id: lstrlib.c,v 1.132.1.5 2010/05/14 15:34:19 roberto Exp $ - ** Standard library for string operations and pattern-matching - ** See Copyright Notice in lua.h - */ -@@ -754,6 +754,7 @@ - - - static int str_format (lua_State *L) { -+ int top = lua_gettop(L); - int arg = 1; - size_t sfl; - const char *strfrmt = luaL_checklstring(L, arg, &sfl); -@@ -768,7 +769,8 @@ - else { /* format item */ - char form[MAX_FORMAT]; /* to store the format (`%...') */ - char buff[MAX_ITEM]; /* to store the formatted item */ -- arg++; -+ if (++arg > top) -+ luaL_argerror(L, arg, "no value"); - strfrmt = scanformat(L, strfrmt, form); - switch (*strfrmt++) { - case 'c': { ---- src/lvm.c 2007/12/28 15:32:23 2.63.1.3 -+++ src/lvm.c 2009/07/01 21:10:33 2.63.1.4 -@@ -1,5 +1,5 @@ - /* --** $Id: lvm.c,v 2.63.1.3 2007/12/28 15:32:23 roberto Exp $ -+** $Id: lvm.c,v 2.63.1.4 2009/07/01 21:10:33 roberto Exp $ - ** Lua virtual machine - ** See Copyright Notice in lua.h - */ -@@ -133,6 +133,7 @@ - - void luaV_settable (lua_State *L, const TValue *t, TValue *key, StkId val) { - int loop; -+ TValue temp; - for (loop = 0; loop < MAXTAGLOOP; loop++) { - const TValue *tm; - if (ttistable(t)) { /* `t' is a table? */ -@@ -152,7 +153,9 @@ - callTM(L, tm, t, key, val); - return; - } -- t = tm; /* else repeat with `tm' */ -+ /* else repeat with `tm' */ -+ setobj(L, &temp, tm); /* avoid pointing inside table (may rehash) */ -+ t = &temp; - } - luaG_runerror(L, "loop in settable"); - } - diff --git a/packaging/macros.lua b/packaging/macros.lua new file mode 100644 index 0000000..d5e06dc --- /dev/null +++ b/packaging/macros.lua @@ -0,0 +1,10 @@ +# RPM macros for Lua + +# The major.minor version of Lua +%lua_version %(lua -e 'print(_VERSION)' | cut -d ' ' -f 2) + +# compiled modules should go here +%lua_archdir %{_libdir}/lua/%{lua_version} + +# pure Lua modules should go here +%lua_noarchdir %{_datadir}/lua/%{lua_version} -- 2.7.4