NetBSD Problem Report #54492
From www@netbsd.org Tue Aug 27 09:44:16 2019
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id EC6827A10E
for <gnats-bugs@gnats.NetBSD.org>; Tue, 27 Aug 2019 09:44:15 +0000 (UTC)
Message-Id: <20190827094414.D138C7A1D3@mollari.NetBSD.org>
Date: Tue, 27 Aug 2019 09:44:14 +0000 (UTC)
From: clement.bouvier.europe@gmail.com
Reply-To: clement.bouvier.europe@gmail.com
To: gnats-bugs@NetBSD.org
Subject: databases/lua-sqlite multiples problems
X-Send-Pr-Version: www-1.0
>Number: 54492
>Category: pkg
>Synopsis: databases/lua-sqlite multiples problems
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Aug 27 09:45:00 +0000 2019
>Last-Modified: Thu Aug 29 03:55:00 +0000 2019
>Originator: clement bouvier
>Release: current
>Organization:
>Environment:
macOS mojave darwin.
>Description:
Multiple errors:
ERROR: lib/lua/5.1/libluasqlite.so: relative library path: libluasqlite.so
ERROR: lib/lua/5.1/libluasqlite.so: missing library: libluasqlite.so
MESSAGE is not adapted to lua 5.1.
The test script (test.lua) provided by the package segfault.
>How-To-Repeat:
Run test.lua with the warning from MESSAGE (adapted to 5.1) or try to install the pkg with PKG_DEVELOPER.
>Fix:
* Adapt message to lua 5.1
* migrate the pkg build to libtool in order to avoid any rpath problem.
* patch test.lua and the c library provided so as to avoid any segfault
Index: MESSAGE
===================================================================
RCS file: /cvsroot/pkgsrc/databases/lua-sqlite/MESSAGE,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 MESSAGE
--- MESSAGE 5 Apr 2004 14:16:14 -0000 1.1.1.1
+++ MESSAGE 27 Aug 2019 09:37:45 -0000
@@ -4,6 +4,6 @@
To use luasqlite in your lua programs you must set this environment
variable:
- LUA_INIT = "loadlib('${PREFIX}/lib/libluasqlite.so','luaLM_import')();"
+LUA_INIT="package.loadlib('${PREFIX}/${LUA_CDIR}/libluasqlite.so','luaLM_import')();"
===========================================================================
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/databases/lua-sqlite/Makefile,v
retrieving revision 1.20
diff -u -r1.20 Makefile
--- Makefile 20 Jan 2015 19:56:54 -0000 1.20
+++ Makefile 27 Aug 2019 09:37:45 -0000
@@ -12,6 +12,10 @@
HOMEPAGE= http://lua-users.org/wiki/LuaSqlite
COMMENT= SQLite binding for LUA
+MESSAGE_SUBST+= LUA_CDIR="${LUA_CDIR}"
+
+USE_LIBTOOL= yes
+
WRKSRC= ${WRKDIR}
CFLAGS+= -fPIC
@@ -23,12 +27,14 @@
INSTALLATION_DIRS+= ${LUA_CDIR} ${LUA_DOCDIR} ${LUA_EXAMPLESDIR}
do-build:
- cd ${WRKSRC}; ${CC} -shared ${CFLAGS} ${LDFLAGS} lsqlite.c \
- -o libluasqlite.so ${LIBS}
+ cd ${WRKSRC}
+ ${LIBTOOL} --tag=CC --mode=compile ${CC} ${CFLAGS} -c ${WRKSRC}/lsqlite.c -o ${WRKDIR}/lsqlite.lo
+ ${LIBTOOL} --tag=CC --mode=link ${CC} ${LDFLAGS} -no-undefined -module -avoid-version -o ${WRKDIR}/libluasqlite.la \
+ ${WRKDIR}/lsqlite.lo -rpath ${PREFIX}/lib/${LUA_CDIR} ${LIBS}
do-install:
- ${INSTALL_DATA} ${WRKSRC}/libluasqlite.so \
- ${DESTDIR}${PREFIX}/${LUA_CDIR}
+ ${LIBTOOL} --mode=install ${INSTALL_LIB} ${WRKDIR}/libluasqlite.la \
+ ${DESTDIR}${PREFIX}/${LUA_CDIR}
${INSTALL_DATA} ${WRKSRC}/readme.txt \
${DESTDIR}${PREFIX}/${LUA_DOCDIR}
${INSTALL_DATA} ${WRKSRC}/test.lua \
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/databases/lua-sqlite/PLIST,v
retrieving revision 1.3
diff -u -r1.3 PLIST
--- PLIST 3 May 2014 13:01:24 -0000 1.3
+++ PLIST 27 Aug 2019 09:37:45 -0000
@@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.3 2014/05/03 13:01:24 alnsn Exp $
-${LUA_CDIR}/libluasqlite.so
+${LUA_CDIR}/libluasqlite.la
${LUA_DOCDIR}/readme.txt
${LUA_EXAMPLESDIR}/test.lua
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/databases/lua-sqlite/distinfo,v
retrieving revision 1.3
diff -u -r1.3 distinfo
--- distinfo 3 Nov 2015 01:56:14 -0000 1.3
+++ distinfo 27 Aug 2019 09:37:45 -0000
@@ -4,3 +4,5 @@
RMD160 (lsqlite_src.zip) = 717771b68507c54c9b0b540ed2ab70adb53cd420
SHA512 (lsqlite_src.zip) = 7933a735559815a67d26225a69de72bea55ff529672820abfe10346b0194dff62a1bc4c6625a0a8621417d5b79a4035d21196f31a2beabb7a6f5e1703b6fb012
Size (lsqlite_src.zip) = 321990 bytes
+SHA1 (patch-lsqlite.c) = 6a05eb64bf873184eb121d9d04a977f934899574
+SHA1 (patch-test.lua) = 808850ff36d41dfbc20044f710a04abcbf9e369d
Index: patches/patch-lsqlite.c
===================================================================
RCS file: patches/patch-lsqlite.c
diff -N patches/patch-lsqlite.c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lsqlite.c 27 Aug 2019 09:37:45 -0000
@@ -0,0 +1,23 @@
+$NetBSD$
+* Keep the same logic as lsql_ on lsql_finalize
+* Avoid a segfault on test.lua sqlite.finalize part if no error
+
+--- lsqlite.c.orig 2003-02-28 09:00:22.000000000 +0000
++++ lsqlite.c
+@@ -327,14 +327,11 @@ int lsql_step(lua_State *L)
+ int lsql_finalize(lua_State *L)
+ {
+ dbud *ud = ls_checknargs_vm_getbdud(L,1,"sqlite.finalize(db)");
+- char *errmsg;
+ int err;
+ // do it
+- err = sqlite_finalize( ud->vm , &errmsg );
++ err = sqlite_finalize( ud->vm , NULL);
+ lua_pushnumber(L, (lua_Number )err);
+- lua_pushstring(L,errmsg);
+- if( errmsg != NULL ) sqlite_freemem( errmsg );
+- return 2;
++ return 1;
+ }
+
+ /*
Index: patches/patch-test.lua
===================================================================
RCS file: patches/patch-test.lua
diff -N patches/patch-test.lua
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-test.lua 27 Aug 2019 09:37:45 -0000
@@ -0,0 +1,16 @@
+$NetBSD$
+* Prefer require lua function for loading module.
+
+--- test.lua.orig 2003-02-28 09:00:00.000000000 +0000
++++ test.lua
+@@ -25,8 +25,8 @@ print(os.date"%Y-%b-%d %H:%M:%S")
+
+ -- open binary module
+
+-ok,str=module.load"sqlite"
+-if (not ok)
++sqlite = require("sqlite")
++if (not sqlite)
+ then do print ("Error on module.load: ", str) break end
+ end
+
>Audit-Trail:
From: =?utf-8?Q?cl=C3=A9ment_bouvier?= <clement.bouvier.europe@gmail.com>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: pkg/54492: databases/lua-sqlite multiples problems
Date: Wed, 28 Aug 2019 09:41:26 +0400
--Apple-Mail=_1A750651-9167-4C49-B1DA-5CD1F8662D93
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8
Hi all,
Errors from my side with the previous patch:
* change rpath ${PREFIX}/lib/${LUA_CDIR} into ${PREFIX}/${LUA_CDIR}
* increment PKG_REVISION.
Sorry.
Cl=C3=A9ment Bouvier.
--Apple-Mail=_1A750651-9167-4C49-B1DA-5CD1F8662D93
Content-Disposition: attachment;
filename=patch-lua-sqlite.diff
Content-Type: application/octet-stream;
x-unix-mode=0644;
name="patch-lua-sqlite.diff"
Content-Transfer-Encoding: 7bit
Index: MESSAGE
===================================================================
RCS file: /cvsroot/pkgsrc/databases/lua-sqlite/MESSAGE,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 MESSAGE
--- MESSAGE 5 Apr 2004 14:16:14 -0000 1.1.1.1
+++ MESSAGE 28 Aug 2019 05:35:02 -0000
@@ -4,6 +4,6 @@
To use luasqlite in your lua programs you must set this environment
variable:
- LUA_INIT = "loadlib('${PREFIX}/lib/libluasqlite.so','luaLM_import')();"
+LUA_INIT="package.loadlib('${PREFIX}/${LUA_CDIR}/libluasqlite.so','luaLM_import')();"
===========================================================================
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/databases/lua-sqlite/Makefile,v
retrieving revision 1.20
diff -u -r1.20 Makefile
--- Makefile 20 Jan 2015 19:56:54 -0000 1.20
+++ Makefile 28 Aug 2019 05:35:02 -0000
@@ -3,7 +3,7 @@
DISTNAME= lsqlite_src
PKGNAME= ${LUA_PKGPREFIX}-sqlite-20030228
-PKGREVISION= 9
+PKGREVISION= 10
CATEGORIES= databases
MASTER_SITES= http://lua-users.org/files/wiki_insecure/binary_modules/luasqlite/
EXTRACT_SUFX= .zip
@@ -12,6 +12,10 @@
HOMEPAGE= http://lua-users.org/wiki/LuaSqlite
COMMENT= SQLite binding for LUA
+MESSAGE_SUBST+= LUA_CDIR="${LUA_CDIR}"
+
+USE_LIBTOOL= yes
+
WRKSRC= ${WRKDIR}
CFLAGS+= -fPIC
@@ -23,12 +27,14 @@
INSTALLATION_DIRS+= ${LUA_CDIR} ${LUA_DOCDIR} ${LUA_EXAMPLESDIR}
do-build:
- cd ${WRKSRC}; ${CC} -shared ${CFLAGS} ${LDFLAGS} lsqlite.c \
- -o libluasqlite.so ${LIBS}
+ cd ${WRKSRC}
+ ${LIBTOOL} --tag=CC --mode=compile ${CC} ${CFLAGS} -c ${WRKSRC}/lsqlite.c -o ${WRKDIR}/lsqlite.lo
+ ${LIBTOOL} --tag=CC --mode=link ${CC} ${LDFLAGS} -no-undefined -module -avoid-version -o ${WRKDIR}/libluasqlite.la \
+ ${WRKDIR}/lsqlite.lo -rpath ${PREFIX}/${LUA_CDIR} ${LIBS}
do-install:
- ${INSTALL_DATA} ${WRKSRC}/libluasqlite.so \
- ${DESTDIR}${PREFIX}/${LUA_CDIR}
+ ${LIBTOOL} --mode=install ${INSTALL_LIB} ${WRKDIR}/libluasqlite.la \
+ ${DESTDIR}${PREFIX}/${LUA_CDIR}
${INSTALL_DATA} ${WRKSRC}/readme.txt \
${DESTDIR}${PREFIX}/${LUA_DOCDIR}
${INSTALL_DATA} ${WRKSRC}/test.lua \
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/databases/lua-sqlite/PLIST,v
retrieving revision 1.3
diff -u -r1.3 PLIST
--- PLIST 3 May 2014 13:01:24 -0000 1.3
+++ PLIST 28 Aug 2019 05:35:02 -0000
@@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.3 2014/05/03 13:01:24 alnsn Exp $
-${LUA_CDIR}/libluasqlite.so
+${LUA_CDIR}/libluasqlite.la
${LUA_DOCDIR}/readme.txt
${LUA_EXAMPLESDIR}/test.lua
Index: distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/databases/lua-sqlite/distinfo,v
retrieving revision 1.3
diff -u -r1.3 distinfo
--- distinfo 3 Nov 2015 01:56:14 -0000 1.3
+++ distinfo 28 Aug 2019 05:35:02 -0000
@@ -4,3 +4,5 @@
RMD160 (lsqlite_src.zip) = 717771b68507c54c9b0b540ed2ab70adb53cd420
SHA512 (lsqlite_src.zip) = 7933a735559815a67d26225a69de72bea55ff529672820abfe10346b0194dff62a1bc4c6625a0a8621417d5b79a4035d21196f31a2beabb7a6f5e1703b6fb012
Size (lsqlite_src.zip) = 321990 bytes
+SHA1 (patch-lsqlite.c) = 6a05eb64bf873184eb121d9d04a977f934899574
+SHA1 (patch-test.lua) = 808850ff36d41dfbc20044f710a04abcbf9e369d
Index: patches/patch-lsqlite.c
===================================================================
RCS file: patches/patch-lsqlite.c
diff -N patches/patch-lsqlite.c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-lsqlite.c 28 Aug 2019 05:35:02 -0000
@@ -0,0 +1,23 @@
+$NetBSD$
+* Keep the same logic as lsql_ on lsql_finalize
+* Avoid a segfault on test.lua sqlite.finalize part if no error
+
+--- lsqlite.c.orig 2003-02-28 09:00:22.000000000 +0000
++++ lsqlite.c
+@@ -327,14 +327,11 @@ int lsql_step(lua_State *L)
+ int lsql_finalize(lua_State *L)
+ {
+ dbud *ud = ls_checknargs_vm_getbdud(L,1,"sqlite.finalize(db)");
+- char *errmsg;
+ int err;
+ // do it
+- err = sqlite_finalize( ud->vm , &errmsg );
++ err = sqlite_finalize( ud->vm , NULL);
+ lua_pushnumber(L, (lua_Number )err);
+- lua_pushstring(L,errmsg);
+- if( errmsg != NULL ) sqlite_freemem( errmsg );
+- return 2;
++ return 1;
+ }
+
+ /*
Index: patches/patch-test.lua
===================================================================
RCS file: patches/patch-test.lua
diff -N patches/patch-test.lua
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-test.lua 28 Aug 2019 05:35:02 -0000
@@ -0,0 +1,16 @@
+$NetBSD$
+* Prefer require lua function for loading module.
+
+--- test.lua.orig 2003-02-28 09:00:00.000000000 +0000
++++ test.lua
+@@ -25,8 +25,8 @@ print(os.date"%Y-%b-%d %H:%M:%S")
+
+ -- open binary module
+
+-ok,str=module.load"sqlite"
+-if (not ok)
++sqlite = require("sqlite")
++if (not sqlite)
+ then do print ("Error on module.load: ", str) break end
+ end
+
--Apple-Mail=_1A750651-9167-4C49-B1DA-5CD1F8662D93--
From: Alexander Nasonov <alnsn@yandex.ru>
To: gnats-bugs@netbsd.org
Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/54492: databases/lua-sqlite multiples problems
Date: Wed, 28 Aug 2019 18:58:26 +0100
clement.bouvier.europe@gmail.com wrote:
> Multiple errors:
> ERROR: lib/lua/5.1/libluasqlite.so: relative library path: libluasqlite.so
> ERROR: lib/lua/5.1/libluasqlite.so: missing library: libluasqlite.so
>
> MESSAGE is not adapted to lua 5.1.
>
> The test script (test.lua) provided by the package segfault.
The package is severely broken and outdated. I'd recommend removing
it from the pkgsrc.
There is also databases/lua-sqlite3 but it's also broken.
--
Alex
From: =?utf-8?Q?cl=C3=A9ment_bouvier?= <clement.bouvier.europe@gmail.com>
To: gnats-bugs@netbsd.org
Cc:
Subject: Re: pkg/54492: databases/lua-sqlite multiples problems
Date: Thu, 29 Aug 2019 07:53:43 +0400
Hi,
Yes the package is outdated. If you can remove it, please do.
If someone still uses it, the patch is here.
I know there is databases/lua-sqlite3, I submitted a patch with the PR =
pkg/54496.
I did not do more than success install and a quick check of Lua script =
provided with the package databases/lua-sqlite3.
Clement.
> Le 28 ao=C3=BBt 2019 =C3=A0 22:00, Alexander Nasonov <alnsn@yandex.ru> =
a =C3=A9crit :
>=20
> The following reply was made to PR pkg/54492; it has been noted by =
GNATS.
>=20
> From: Alexander Nasonov <alnsn@yandex.ru>
> To: gnats-bugs@netbsd.org
> Cc: pkg-manager@netbsd.org, gnats-admin@netbsd.org, =
pkgsrc-bugs@netbsd.org
> Subject: Re: pkg/54492: databases/lua-sqlite multiples problems
> Date: Wed, 28 Aug 2019 18:58:26 +0100
>=20
> clement.bouvier.europe@gmail.com wrote:
>> Multiple errors:
>> ERROR: lib/lua/5.1/libluasqlite.so: relative library path: =
libluasqlite.so
>> ERROR: lib/lua/5.1/libluasqlite.so: missing library: libluasqlite.so
>>=20
>> MESSAGE is not adapted to lua 5.1.
>>=20
>> The test script (test.lua) provided by the package segfault.
>=20
> The package is severely broken and outdated. I'd recommend removing
> it from the pkgsrc.
>=20
> There is also databases/lua-sqlite3 but it's also broken.
>=20
> --=20
> Alex
>=20
(Contact us)
$NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.