Bug 440679

Summary: Review Request: lua-sql - Database connectivity for Lua
Product: [Fedora] Fedora Reporter: Tim Niemueller <tim>
Component: Package ReviewAssignee: Jason Tibbitts <j>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting
Target Milestone: ---Flags: j: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-04-08 22:16:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 440680    

Description Tim Niemueller 2008-04-04 13:55:25 UTC
Spec URL: http://fedorapeople.org/~timn/luastuff/lua-sql.spec
SRPM URL: http://fedorapeople.org/~timn/luastuff/lua-sql-2.1.1-1.fc8.src.rpm
Description:
LuaSQL is a simple interface from Lua to a DBMS. This package of LuaSQL
supports MySQL, SQLite and PostgreSQL databases. You can execute arbitrary SQL
statements and it allows for retrieving results in a row-by-row cursor fashion.

Website: http://www.keplerproject.org/luasql/

Comment 1 Jason Tibbitts 2008-04-04 18:27:51 UTC
This seems to leave lualibdir/luasql unowned.

Also, one of the subpackages seems to require the main package, which seems a
bit odd, given that it creates a circular dependency unless I'm missing something.

Comment 2 Tim Niemueller 2008-04-04 21:36:56 UTC
lualibdir/luasql is now owner by all database sub-packages.

The require is broken. In the first incarnation I actually had this require
because the documentation was in the main package. Then I split this and now the
lua-sql is kind of a meta-package to pull in everything.

New version of spec file uploaded, new SRPM is at
http://fedorapeople.org/~timn/luastuff/lua-sql-2.1.1-2.fc8.src.rpm

Comment 3 Jason Tibbitts 2008-04-05 00:19:13 UTC
Unfortunately this now fails to build:

gcc -O2  -I../compat/src -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall
-Wmissing-prototypes -Wpointer-arith -Winline -Wdeclaration-after-statement
-Wendif-labels -fno-strict-aliasing -fwrapv -I/usr/include -fPIC   -c -o
src/ls_postgres.o src/ls_postgres.c
export MACOSX_DEPLOYMENT_TARGET="10.3"; gcc -O2  -I../compat/src -O2 -g -pipe
-Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -Wmissing-prototypes
-Wpointer-arith -Winline -Wdeclaration-after-statement -Wendif-labels
-fno-strict-aliasing -fwrapv -I/usr/include -fPIC -o src/postgres.so -shared 
src/luasql.o src/ls_postgres.o  -lpgport -lxslt -lxml2 -lpam -lssl -lcrypto
-lgssapi_krb5 -lz -lreadline -lcrypt -ldl -lm
/usr/bin/ld: cannot find -lxslt
collect2: ld returned 1 exit status

Needs a build dependency on libxslt, perhaps?

Comment 4 Tim Niemueller 2008-04-05 09:17:04 UTC
libxml2, libxslt and libpam are required by PostgreSQL 8.3 on rawhide - you
might think. But the problem lies deeper: I was using pg_config and
mysql_config, assuming that they produce proper flags for building clients -
failed! They show which flags where used to build the libs and server, cf. bug
#440673. I now pass the proper flags without the "config" tools. Scratch build
executed successfully for dist-f9
(http://koji.fedoraproject.org/koji/taskinfo?taskID=550145).

New SRPM is at http://fedorapeople.org/~timn/luastuff/lua-sql-2.1.1-3.fc8.src.rpm

Comment 5 Jason Tibbitts 2008-04-07 17:03:23 UTC
luaforge.net seems to be down at the moment; I'll wait a bit to see if it comes
back up before reviewing.

Comment 6 Tim Niemueller 2008-04-07 21:19:33 UTC
Yes, according to the mailing list they are restoring backups. Will take a few
hours. I'll ping you if it comes back up. Maybe you can finish the review of the
other two packages. These should be easy as I already incorporated your
suggested changes.

Comment 7 Jason Tibbitts 2008-04-08 04:20:55 UTC
luaforge.net is back up now, so....

rpmlist says:

  lua-sql.x86_64: E: no-binary
This is true, and is not a problem.

  lua-sql-mysql.x86_64: W: no-documentation
  lua-sql-postgresql.x86_64: W: no-documentation
  lua-sql-sqlite.x86_64: W: no-documentation
These are all OK as well; the documentation is in a separate package.

The base package containing only the README file is kind of odd.  Honestly I
don't really see the point of having it at all; I'd just put the README file in
the -doc package and dispense with the base package altogether.  But I don't
really see any problem with it.

I note that there's some sort of test suite.  Usually database tests can't
really be run at build time and I'm going to assume that's the case here, but if
 if they do happen to be runnable it would be good for you to add a %check section.

* source files match upstream:
   608c79e84bb9a348ed2a9375a4e7ba4d42615c8b8ef6959c014661ddd9eda765  
   luasql-2.1.1.tar.gz
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* summaries are OK.
* descriptions are OK.
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
* license text included in package.
* latest version is being packaged.
* BuildRequires are proper.
* compiler flags are appropriate.
* %clean is present.
* package builds in mock (rawhide, x86_64).
* package installs properly.
* debuginfo package looks complete.
* rpmlint has acceptable complaints.
* final provides and requires are sane:
  lua-sql-2.1.1-3.fc9.x86_64.rpm
   lua-sql = 2.1.1-3.fc9
  =
   lua-sql-doc
   lua-sql-mysql
   lua-sql-postgresql
   lua-sql-sqlite

  lua-sql-doc-2.1.1-3.fc9.x86_64.rpm
   lua-sql-doc = 2.1.1-3.fc9
  =
   lua >= 5.1

  lua-sql-mysql-2.1.1-3.fc9.x86_64.rpm
   mysql.so()(64bit)
   lua-sql-mysql = 2.1.1-3.fc9
  =
   libmysqlclient.so.15()(64bit)
   libmysqlclient.so.15(libmysqlclient_15)(64bit)
   lua >= 5.1

  lua-sql-postgresql-2.1.1-3.fc9.x86_64.rpm
   postgres.so()(64bit)
   lua-sql-postgresql = 2.1.1-3.fc9
  =
   libpq.so.5()(64bit)
   lua >= 5.1

  lua-sql-sqlite-2.1.1-3.fc9.x86_64.rpm
   sqlite3.so()(64bit)
   lua-sql-sqlite = 2.1.1-3.fc9
  =
   libsqlite3.so.0()(64bit)
   lua >= 5.1

* no shared libraries are added to the regular linker search paths.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* no scriptlets present.
* code, not content.
* no headers.
* no pkgconfig files.
* no static libraries.
* no libtool .la files.

APPROVED

Comment 8 Tim Niemueller 2008-04-08 07:01:29 UTC
You are right about the README file. I'll move it to the -doc package and make
lua-sql a pure meta package to pull in everything.

Thanks for all the thorough reviews!

Comment 9 Tim Niemueller 2008-04-08 07:01:59 UTC
New Package CVS Request
=======================
Package Name: lua-sql
Short Description: Database connectivity for Lua
Owners: timn
Branches: F-7 F-8
InitialCC: 
Cvsextras Commits: yes

Comment 10 Kevin Fenzi 2008-04-08 18:11:48 UTC
cvs done.

Comment 11 Tim Niemueller 2010-11-08 23:33:06 UTC
Package Change Request
======================
Package Name: lua-sql
New Branches: el5 el6
Owners: timn

Comment 12 Jason Tibbitts 2010-11-09 13:02:38 UTC
Git done (by process-git-requests).