Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37542107
en ru br
Репозитории ALT
S:0.5.15lorg2-alt86
5.1: 0.5.15lorg2-alt33.M50P.1
4.1: 0.5.15lorg2-alt20.M41.1
4.0: 0.5.15lorg2-alt18.M40.1
+updates:0.5.15lorg2-alt18
3.0: 0.5.15cnc6-alt16
www.altlinux.org/Changes

Группа :: Система/Настройка/Пакеты
Пакет: apt

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: apt-0.5.15lorg2-alt-lua51.patch
Скачать


--- apt-0.5.15lorg2/apt-pkg/Makefile.am-	2006-01-17 02:10:47 +0300
+++ apt-0.5.15lorg2/apt-pkg/Makefile.am	2006-05-16 15:51:12 +0400
@@ -6,10 +6,8 @@ libapt_pkg_la_LDFLAGS = -version-info 2:
 
 AM_CPPFLAGS = -DLIBDIR=\"$(libdir)\"
 
-INCLUDES = -I$(top_srcdir)/lua/include -I$(top_srcdir)/lua/local
-
 if WITH_LUA
-libapt_pkg_la_LIBADD += $(top_builddir)/lua/liblua.la
+libapt_pkg_la_LIBADD += -llua
 endif
 
 libapt_pkg_la_SOURCES = \
--- apt-0.5.15lorg2/apt-pkg/luaiface.cc-	2006-01-17 02:14:40 +0300
+++ apt-0.5.15lorg2/apt-pkg/luaiface.cc	2006-05-16 17:45:03 +0400
@@ -17,12 +17,12 @@
 #ifdef WITH_LUA
 
 extern "C" {
-#include "lua.h"
-#include "lualib.h"
-#include "lauxlib.h"
-#include "lposix.h"
-#include "lrexlib.h"
-#include "linit.h"
+#include <lua.h>
+#include <lualib.h>
+#include <lauxlib.h>
+#if LUA_VERSION_NUM < 501
+#error lua 5.1 required
+#endif
 }
 
 #include <apt-pkg/depcache.h>
@@ -52,12 +52,9 @@ extern "C" {
    } while (0)
 
 #define checkudata(ctype, target, n) \
-   do { \
-      ctype *_tmp = (ctype *) luaL_checkudata(L, n, #ctype); \
-      if (_tmp != NULL) \
-	 target = *_tmp; \
-      else \
-	 target = NULL; \
+   do { ctype *_tmp; target = NULL; \
+      if ( !lua_isnil(L, n) && (_tmp = (ctype *) luaL_checkudata(L, n, #ctype)) ) \
+	    target = *_tmp; \
    } while (0)
 
 Lua *_GetLuaObj()
@@ -78,26 +75,13 @@ Lua::Lua()
 {
    _config->CndSet("Dir::Bin::scripts", "/usr/share/apt/scripts");
 
-   const luaL_reg lualibs[] = {
-      {"base", luaopen_base},
-      {"table", luaopen_table},
-      {"io", luaopen_io},
-      {"string", luaopen_string},
-      {"math", luaopen_math},
-      {"debug", luaopen_debug},
-      {"loadlib", luaopen_loadlib},
-      {"posix", luaopen_posix},
-      {"rex", luaopen_rex},
-      {"init", luaopen_init},
-      {"apt", luaopen_apt},
-      {NULL, NULL}
-   };
    L = lua_open();
-   const luaL_reg *lib = lualibs;
-   for (; lib->name; lib++) {
-      lib->func(L);  /* open library */
-      lua_settop(L, 0);  /* discard any results */
-   }
+   luaL_openlibs(L);
+
+   lua_pushcfunction(L, luaopen_apt);
+   lua_pushstring(L, "apt");
+   lua_call(L, 1, 0);
+
    luaL_newmetatable(L, "pkgCache::Package*");
    lua_pushstring(L, "__eq");
    lua_pushcfunction(L, AptLua_pkgcomp);
@@ -198,7 +182,7 @@ bool Lua::RunScripts(const char *ConfLis
    lua_pushnil(L);
    lua_rawset(L, LUA_GLOBALSINDEX);
 
-   lua_pop(L, 1);
+   lua_settop(L, 0);
 
    return true;
 }
--- apt-0.5.15lorg2/Makefile.am-	2006-05-16 15:51:12 +0400
+++ apt-0.5.15lorg2/Makefile.am	2006-05-16 15:51:12 +0400
@@ -1,5 +1,5 @@
 
-SUBDIRS = buildlib lua apt-pkg methods cmdline tools doc m4 po
+SUBDIRS = buildlib apt-pkg methods cmdline tools doc m4 po
 
 ACLOCAL_AMFLAGS = -I m4 -I buildlib
 
--- apt-0.5.15lorg2/configure.in-	2006-05-16 15:51:12 +0400
+++ apt-0.5.15lorg2/configure.in	2006-05-16 15:51:12 +0400
@@ -252,7 +252,6 @@ AC_OUTPUT([
 	  Makefile
 	  buildlib/Makefile
 	  intl/Makefile 
-	  lua/Makefile
 	  apt-pkg/Makefile
 	  methods/Makefile
 	  cmdline/Makefile
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin