Hello community, here is the log from the commit of package lua-luasql for openSUSE:Factory checked in at 2018-12-12 17:26:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lua-luasql (Old) and /work/SRC/openSUSE:Factory/.lua-luasql.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lua-luasql" Wed Dec 12 17:26:30 2018 rev:1 rq:655423 version:2.4.0 Changes: -------- New Changes file: --- /dev/null 2018-10-29 14:05:42.522318975 +0100 +++ /work/SRC/openSUSE:Factory/.lua-luasql.new.28833/lua-luasql.changes 2018-12-12 17:26:34.575022214 +0100 @@ -0,0 +1,19 @@ +------------------------------------------------------------------- +Wed Dec 5 22:14:00 CET 2018 - [email protected] + +- Upgrade to 2.4.0: + * Added support in MySQL driver for opening a connection + based on a Unix socket (thanks to rafis) + * Added connection ping method (thanks to rafis) + * Added Makefile for mingw (thanks to watercoldyi) + * Bug correction on retrieving varchar2 data (thanks to David + Gao) +- Rewrite to multibuild, standard openSUSE Lua SPEC file. + +------------------------------------------------------------------- +Sat Feb 8 04:46:07 UTC 2014 - [email protected] + +- Initial build. +- Add luasql-fix-configuration.patch: Clean up building and add rpm + optflags. + New: ---- _multibuild lua-luasql.changes lua-luasql.spec luasql-2.4.0.tar.gz luasql-fix-configuration.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lua-luasql.spec ++++++ # # spec file for package luasql # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2014 Malcolm J Lewis <[email protected]> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %global flavor @BUILD_FLAVOR@%{nil} %define flavor_dec $(c=%{flavor}; echo ${c:0:-1}.${c: -1}) %define flavor_ver %{lua:ver, ok = string.gsub(rpm.expand("%{flavor}"), "lua(%d)(%d)", "%1.%2"); print(ver)} %define mod_name luasql %define lua_archdir %{_libdir}/lua/%{flavor_ver} %define lua_incdir %{_includedir}/lua%{flavor_ver} %define lua_noarchdir %{_datadir}/lua/%{flavor_ver} %if "%{flavor}" == "" Name: lua-%{mod_name} ExclusiveArch: do_not_build %else Name: %{flavor}-%{mod_name} %endif Version: 2.4.0 Release: 0 Summary: Simple interface from Lua to a DBMS License: MIT Group: Development/Libraries/Other URL: https://keplerproject.github.io/luasql/ Source0: https://github.com/keplerproject/luasql/archive/v%{version}/%{mod_name}-%{version}.tar.gz #Source0 via https://codeload.github.com/keplerproject/luasql/tar.gz/v2.3.0 # PATCH-FIX-OPENSUSE luasql-fix-configuration.patch [email protected] -- Clean up building and add rpm optflags. Patch0: luasql-fix-configuration.patch BuildRequires: %{flavor}-devel BuildRequires: libmysqlclient-devel BuildRequires: postgresql-devel BuildRequires: sqlite3-devel BuildRequires: libiodbc-devel BuildRequires: pkg-config Requires: libmariadb3 Requires: %{flavor} %description A simple interface from Lua to a DBMS. It enables a Lua program to: - Connect to ODBC, ADO, Oracle, MySQL, SQLite and PostgreSQL databases; - Execute arbitrary SQL statements; - Retrieve results in a row-by-row cursor fashion. %prep %setup -q -n %{mod_name}-%{version} %patch0 -p1 %build export OPTFLAGS="%{optflags}" export LUA_INC="%{lua_incdir}" # also oci8 firebird make %{?_smp_mflags} \ DRIVER_INCS="-I%{_includedir}" DRIVER_LIBS_sqlite3="-lsqlite3" sqlite3 make %{?_smp_mflags} \ DRIVER_INCS="-I%{_includedir}/pgsql" DRIVER_LIBS_postgres="-lpq" postgres make %{?_smp_mflags} \ DRIVER_INCS="-I%{_includedir}/mysql" DRIVER_LIBS_mysql="-lmysqlclient -lz" mysql make %{?_smp_mflags} \ DRIVER_INCS="-I%{_includedir}" DRIVER_LIBS_odbc="-liodbc" odbc %install %make_install LUA_LIBDIR='$(DESTDIR)%{lua_archdir}' sqlite3 %make_install LUA_LIBDIR='$(DESTDIR)%{lua_archdir}' postgres %make_install LUA_LIBDIR='$(DESTDIR)%{lua_archdir}' mysql %make_install LUA_LIBDIR='$(DESTDIR)%{lua_archdir}' odbc %files %doc doc/us/* %dir %{lua_archdir}/luasql %{lua_archdir}/luasql/ # TODO? Split to subpackages? # /usr/lib64/lua/%%{lua_version}/luasql # /usr/lib64/lua/%%{lua_version}/luasql/mysql.so # /usr/lib64/lua/%%{lua_version}/luasql/postgres.so # /usr/lib64/lua/%%{lua_version}/luasql/sqlite3.so %changelog ++++++ _multibuild ++++++ <multibuild> <package>lua51</package> <package>lua53</package> </multibuild> ++++++ luasql-fix-configuration.patch ++++++ --- a/config +++ b/config @@ -46,9 +46,8 @@ DRIVER_LIBS_firebird ?= -L/usr/local/fir DRIVER_INCS_firebird ?= # general compilation parameters -WARN = -Wall -Wmissing-prototypes -Wmissing-declarations -pedantic +WARN= -fPIC $(OPTFLAGS) -Wmissing-prototypes -Wmissing-declarations -ansi -pedantic INCS = -I$(LUA_INC) -DEFS = -CFLAGS = -O2 -std=gnu99 $(WARN) -fPIC $(DRIVER_INCS) $(INCS) \ - -DLUASQL_VERSION_NUMBER='"$V"' $(DEFS) +DEFS = -std=gnu99 -fPIC +CFLAGS=$(WARN) $(DRIVER_INCS) $(INCS) -DLUASQL_VERSION_NUMBER='"$V"' $(DEFS) CC= gcc --- a/src/ls_mysql.c +++ b/src/ls_mysql.c @@ -29,28 +29,28 @@ #define LUASQL_CURSOR_MYSQL "MySQL cursor" /* For compat with old version 4.0 */ -#if (MYSQL_VERSION_ID < 40100) -#define MYSQL_TYPE_VAR_STRING FIELD_TYPE_VAR_STRING -#define MYSQL_TYPE_STRING FIELD_TYPE_STRING -#define MYSQL_TYPE_DECIMAL FIELD_TYPE_DECIMAL -#define MYSQL_TYPE_SHORT FIELD_TYPE_SHORT -#define MYSQL_TYPE_LONG FIELD_TYPE_LONG -#define MYSQL_TYPE_FLOAT FIELD_TYPE_FLOAT -#define MYSQL_TYPE_DOUBLE FIELD_TYPE_DOUBLE -#define MYSQL_TYPE_LONGLONG FIELD_TYPE_LONGLONG -#define MYSQL_TYPE_INT24 FIELD_TYPE_INT24 -#define MYSQL_TYPE_YEAR FIELD_TYPE_YEAR -#define MYSQL_TYPE_TINY FIELD_TYPE_TINY -#define MYSQL_TYPE_TINY_BLOB FIELD_TYPE_TINY_BLOB -#define MYSQL_TYPE_MEDIUM_BLOB FIELD_TYPE_MEDIUM_BLOB -#define MYSQL_TYPE_LONG_BLOB FIELD_TYPE_LONG_BLOB -#define MYSQL_TYPE_BLOB FIELD_TYPE_BLOB -#define MYSQL_TYPE_DATE FIELD_TYPE_DATE -#define MYSQL_TYPE_NEWDATE FIELD_TYPE_NEWDATE -#define MYSQL_TYPE_DATETIME FIELD_TYPE_DATETIME -#define MYSQL_TYPE_TIME FIELD_TYPE_TIME -#define MYSQL_TYPE_TIMESTAMP FIELD_TYPE_TIMESTAMP -#define MYSQL_TYPE_ENUM FIELD_TYPE_ENUM +#if (MYSQL_VERSION_ID < 40100) +#define MYSQL_TYPE_VAR_STRING FIELD_TYPE_VAR_STRING +#define MYSQL_TYPE_STRING FIELD_TYPE_STRING +#define MYSQL_TYPE_DECIMAL FIELD_TYPE_DECIMAL +#define MYSQL_TYPE_SHORT FIELD_TYPE_SHORT +#define MYSQL_TYPE_LONG FIELD_TYPE_LONG +#define MYSQL_TYPE_FLOAT FIELD_TYPE_FLOAT +#define MYSQL_TYPE_DOUBLE FIELD_TYPE_DOUBLE +#define MYSQL_TYPE_LONGLONG FIELD_TYPE_LONGLONG +#define MYSQL_TYPE_INT24 FIELD_TYPE_INT24 +#define MYSQL_TYPE_YEAR FIELD_TYPE_YEAR +#define MYSQL_TYPE_TINY FIELD_TYPE_TINY +#define MYSQL_TYPE_TINY_BLOB FIELD_TYPE_TINY_BLOB +#define MYSQL_TYPE_MEDIUM_BLOB FIELD_TYPE_MEDIUM_BLOB +#define MYSQL_TYPE_LONG_BLOB FIELD_TYPE_LONG_BLOB +#define MYSQL_TYPE_BLOB FIELD_TYPE_BLOB +#define MYSQL_TYPE_DATE FIELD_TYPE_DATE +#define MYSQL_TYPE_NEWDATE FIELD_TYPE_NEWDATE +#define MYSQL_TYPE_DATETIME FIELD_TYPE_DATETIME +#define MYSQL_TYPE_TIME FIELD_TYPE_TIME +#define MYSQL_TYPE_TIMESTAMP FIELD_TYPE_TIMESTAMP +#define MYSQL_TYPE_ENUM FIELD_TYPE_ENUM #define MYSQL_TYPE_SET FIELD_TYPE_SET #define MYSQL_TYPE_NULL FIELD_TYPE_NULL @@ -135,7 +135,7 @@ static char *getcolumntype (enum enum_fi return "string"; case MYSQL_TYPE_DECIMAL: case MYSQL_TYPE_SHORT: case MYSQL_TYPE_LONG: case MYSQL_TYPE_FLOAT: case MYSQL_TYPE_DOUBLE: case MYSQL_TYPE_LONGLONG: - case MYSQL_TYPE_INT24: case MYSQL_TYPE_YEAR: case MYSQL_TYPE_TINY: + case MYSQL_TYPE_INT24: case MYSQL_TYPE_YEAR: case MYSQL_TYPE_TINY: return "number"; case MYSQL_TYPE_TINY_BLOB: case MYSQL_TYPE_MEDIUM_BLOB: case MYSQL_TYPE_LONG_BLOB: case MYSQL_TYPE_BLOB: @@ -193,7 +193,7 @@ static void cur_nullify (lua_State *L, c luaL_unref (L, LUA_REGISTRYINDEX, cur->coltypes); } - + /* ** Get another row of the given cursor. */ @@ -225,7 +225,7 @@ static int cur_fetch (lua_State *L) { if (cur->colnames == LUA_NOREF) create_colinfo(L, cur); lua_rawgeti (L, LUA_REGISTRYINDEX, cur->colnames);/* Push colnames*/ - + /* Copy values to alphanumerical indices */ for (i = 0; i < cur->numcols; i++) { lua_rawgeti(L, -1, i+1); /* push the field name */ @@ -288,7 +288,7 @@ static void _pushtable (lua_State *L, cu /* If colnames or coltypes do not exist, create both. */ if (*ref == LUA_NOREF) create_colinfo(L, cur); - + /* Pushes the right table (colnames or coltypes) */ lua_rawgeti (L, LUA_REGISTRYINDEX, *ref); } @@ -417,7 +417,7 @@ static int conn_execute (lua_State *L) { conn_data *conn = getconnection (L); size_t st_len; const char *statement = luaL_checklstring (L, 2, &st_len); - if (mysql_real_query(conn->my_conn, statement, st_len)) + if (mysql_real_query(conn->my_conn, statement, st_len)) /* error executing query */ return luasql_failmsg(L, "error executing query. MySQL: ", mysql_error(conn->my_conn)); else @@ -524,7 +524,7 @@ static int env_connect (lua_State *L) { if (conn == NULL) return luasql_faildirect(L, "error connecting: Out of memory."); - if (!mysql_real_connect(conn, host, username, password, + if (!mysql_real_connect(conn, host, username, password, sourcename, port, unix_socket, client_flag)) { char error_msg[100]; @@ -618,7 +618,7 @@ static int create_environment (lua_State ** Creates the metatables for the objects and registers the ** driver open method. */ -LUASQL_API int luaopen_luasql_mysql (lua_State *L) { +LUASQL_API int luaopen_luasql_mysql (lua_State *L) { struct luaL_Reg driver[] = { {"mysql", create_environment}, {NULL, NULL},
