Bug 223557

Summary: Review Request: mdbtools - tools for extracting things from Access databases
Product: [Fedora] Fedora Reporter: Paul F. Johnson <paul>
Component: Package ReviewAssignee: Dominik 'Rathann' Mierzejewski <dominik>
Status: CLOSED NOTABUG QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideFlags: dominik: fedora-review-
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-05-11 17:43:16 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: 201449    
Attachments:
Description Flags
Patch to fix build of odbc lib. none

Description Paul F. Johnson 2007-01-19 23:35:03 UTC
Spec URL: http://nodoid.homelinux.org/fedora/mdbtools.spec
SRPM URL: http://nodoid.homelinux.org/fedora/mdbtools-0.5-1.src.rpm
Description: 

The MDB Tools project is a effort to document the MDB file format used in Microsoft's Access database package, and to provide a set of tools and applications to make that data available on other platforms.

Specifically, MDB Tools includes programs to export schema and data to other databases such as MySQL, Oracle, Sybase, PostgreSQL, and others.

Also included is a SQL engine for performing simple SQL queries. The 0.5 release includes an updated GUI interface (screenshot is available here). A sparse but functional ODBC driver is included as well.

MDB Tools currently has read-only support for Access 97 (Jet 3) and Access 2000/2002 (Jet 4) formats.

Comment 1 Dominik 'Rathann' Mierzejewski 2007-01-21 15:11:14 UTC
And here's the review:

 1. package doesn't meet naming and packaging guidelines, see below.

    %setup -q -n %{name}-%{version} is redundant, %setup -q is enough.

    Make that line
    %{_includedir}/mdb*
    read
    %{_includedir}/mdb*.h

    Please split the GUI app into a separate package, it adds a lot of
    dependencies.
    Please split the libraries into %package -n libmdb and put LGPL in its
    License: field (see 6. below).
    Consider splitting the ODBC driver, too.

 2. specfile is properly named, is cleanly written and uses macros consistently.
 3. dist tag is present.
 4. build root is correct.
      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 5. license field matches the actual license, but see 1.

   "Files in libmdb are licensed under LGPL and the utilities under the GPL,
    see COPYING.LIB and COPYING files respectively."

 6. license is open source-compatible (GPL/LGPL). License text included in package.
    Add COPYING.LIB to %docs.
 7. source files match upstream:
    4a18bf96e67161101cade64526756d22  mdbtools-0.5.tar.gz
 8. latest version is being packaged.
    Is 0.6pre1 not stable enough?
 9. BuildRequires are probably incomplete, you are not building the ODBC driver.
    I suggest adding BR: unixODBC-devel and --with-unixodbc=/proper/path
10. package builds in mock (x86_64/devel,fc6).
11. rpmlint warning can be fixed by adding HACKING to -devel %doc.
    W: mdbtools-devel no-documentation
12. final provides and requires are sane, but see 1.

    mdbtools-0.5-1.fc7.x86_64.rpm
     libmdb.so.0()(64bit)  
     libmdbsql.so.0()(64bit)  
     mdbtools = 0.5-1.fc7
    =
     /sbin/ldconfig  
     libICE.so.6()(64bit)  
     libORBit-2.so.0()(64bit)  
     libSM.so.6()(64bit)  
     libart_lgpl_2.so.2()(64bit)  
     libatk-1.0.so.0()(64bit)  
     libbonobo-2.so.0()(64bit)  
     libbonobo-activation.so.4()(64bit)  
     libbonoboui-2.so.0()(64bit)  
     libc.so.6()(64bit)  
     libcairo.so.2()(64bit)  
     libdl.so.2()(64bit)  
     libgconf-2.so.4()(64bit)  
     libgdk-x11-2.0.so.0()(64bit)  
     libgdk_pixbuf-2.0.so.0()(64bit)  
     libglade-2.0.so.0()(64bit)  
     libglib-2.0.so.0()(64bit)  
     libgmodule-2.0.so.0()(64bit)  
     libgnome-2.so.0()(64bit)  
     libgnome-keyring.so.0()(64bit)  
     libgnomecanvas-2.so.0()(64bit)  
     libgnomeui-2.so.0()(64bit)  
     libgnomevfs-2.so.0()(64bit)  
     libgobject-2.0.so.0()(64bit)  
     libgthread-2.0.so.0()(64bit)  
     libgtk-x11-2.0.so.0()(64bit)  
     libm.so.6()(64bit)  
     libmdb.so.0()(64bit)  
     libmdbsql.so.0()(64bit)  
     libpango-1.0.so.0()(64bit)  
     libpangocairo-1.0.so.0()(64bit)  
     libpangoft2-1.0.so.0()(64bit)  
     libpng12.so.0()(64bit)  
     libpopt.so.0()(64bit)  
     libpthread.so.0()(64bit)  
     librt.so.1()(64bit)  
     libxml2.so.2()(64bit)

13. shared libraries are present and handled properly with ldconfig.
14. package is not relocatable.
15. owns the directories it creates.
16. doesn't own any directories it shouldn't.
17. no duplicates in %files.
18. file permissions are appropriate.
19. %clean is present.
20. %check is not present and no testsuite.
21. no scriptlets present.
22. code, not content.
23. documentation is small, so no -docs subpackage is necessary.
24. %docs are not necessary for the proper functioning of the package.
25. headers present only in -devel.
26. no pkgconfig files.
27. no libtool .la droppings.
28. GUI app, but no .desktop file.
29. not a web app.

NEEDSWORK: 1, 6, 8, 9, 11, 28.


Comment 2 Paul F. Johnson 2007-01-21 21:49:56 UTC
Spec URL: http://nodoid.homelinux.org/fedora/mdbtools.spec
SRPM URL: http://nodoid.homelinux.org/fedora/mdbtools-0.5-2.src.rpm

All except the desktop file has been address. I know 0.6pre1 is available, but
it has quite a bit of code problems and I'd rather get 0.5 into FE before
starting to hack around with 0.6pre1

odbc was a swine!

Comment 3 Paul F. Johnson 2007-01-21 22:17:01 UTC
Spec URL: http://nodoid.homelinux.org/fedora/mdbtools.spec
SRPM URL: http://nodoid.homelinux.org/fedora/mdbtools-0.5-3.src.rpm

desktop file issue fixed

Comment 4 Dominik 'Rathann' Mierzejewski 2007-01-21 23:51:21 UTC
%package libmdb
This was supposed to be
%package -n libmdb
You can call the subpackage -libs, too. IOW: either libmdb or mdbtools-libs.
Looks like the latter might be a better idea.

ldconfig is not called for every subpackage with libs in %{_libdir} now. Instead
you're calling it in the main package which no longer has any libs.

Comment 5 Paul F. Johnson 2007-01-22 00:55:22 UTC
Spec URL: http://nodoid.homelinux.org/fedora/mdbtools.spec
SRPM URL: http://nodoid.homelinux.org/fedora/mdbtools-0.5-4.src.rpm

Fixes the ldconfig problem

Comment 6 Dominik 'Rathann' Mierzejewski 2007-01-28 21:54:38 UTC
ldconfig calls for -devel are unnecessary. You seem to have ignored first part
of comment #4, please rename libmdb to libs.
Requires: mdbtools-libmdb for main package is redundant.

Doesn't build in mock/fc6:

Making all in odbc
make[2]: Entering directory `/builddir/build/BUILD/mdbtools-0.5/src/odbc'
source='odbc.c' object='odbc.lo' libtool=yes \
        depfile='.deps/odbc.Plo' tmpdepfile='.deps/odbc.TPlo' \
        depmode=gcc3 /bin/sh ../../depcomp \
        /usr/bin/libtool --mode=compile gcc -DPACKAGE_NAME=\"\"
-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_
STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"mdbtools\" -DVERSION=\"0.5\"
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHA
VE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDI
NT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DYYTEXT_POINTER=1 -DSTDC_HEADERS=1
-DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_
UNISTD_H=1 -DHAVE_WORDEXP_H=1  -I. -I. -I ../../include `glib-config --cflags` 
  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOUR
CE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
-mtune=generic -DSQL -DUNIXODBC -c -o odbc.lo `test -
f 'odbc.c' || echo './'`odbc.c
/bin/sh: glib-config: command not found
mkdir .libs
 gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -D
PACKAGE=\"mdbtools\" -DVERSION=\"0.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1
-DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAV
E_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1
-DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H
=1 -DYYTEXT_POINTER=1 -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1
-DHAVE_UNISTD_H=1 -DHAVE_WORDEXP_H=1 -I. -I. -
I ../../include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64
 -mtune=generic -DSQL -DUNIXODBC -c odbc.c -MT odbc.lo -MD -MP -MF
.deps/odbc.TPlo  -fPIC -DPIC -o .libs/odbc.o
In file included from ../../include/mdbodbc.h:22,
                 from odbc.c:28:
../../include/mdbtools.h:31:18: error: glib.h: No such file or directory

Attached patch makes it look for glib2 instead of glib and fixes some minor
issues in the code as well, but the rest of the code triggers a lot of gcc
warnings. You might want to look through the build log and fix them.

With that fix, it builds fine in mock, just some small rpmlint issues:
$ rpmlint *.rpm
E: mdbtools script-without-shebang /usr/share/doc/mdbtools-0.5/COPYING.LIB
-> chmod 644 COPYING.LIB in %prep
W: mdbtools-libs summary-not-capitalized libraries for mdbtools
-> Capitalize

Does the frontend really requires the command line tools or only the libraries?
In the latter case, Requires: mdbtools in %package frontend is unnecessary.


Comment 7 Dominik 'Rathann' Mierzejewski 2007-01-28 21:55:50 UTC
Created attachment 146785 [details]
Patch to fix build of odbc lib.

Comment 8 Paul F. Johnson 2007-02-16 01:41:00 UTC
Spec URL: http://nodoid.homelinux.org/fedora/mdbtools.spec
SRPM URL: http://nodoid.homelinux.org/fedora/mdbtools-0.5-5.src.rpm

Fixes all of #6

Comment 9 Dominik 'Rathann' Mierzejewski 2007-03-14 11:23:12 UTC
The files are inaccessible (404 not found).


Comment 10 Paul F. Johnson 2007-03-14 22:18:29 UTC
Yeah, network fault at home. should be working now.

Comment 11 Dominik 'Rathann' Mierzejewski 2007-03-19 12:13:06 UTC
Still not accessible.

Comment 12 Dominik 'Rathann' Mierzejewski 2007-04-28 12:13:13 UTC
No response for over a month, I will close this within a week, per
http://fedoraproject.org/wiki/Extras/Policy/StalledReviews .

Comment 13 Dominik 'Rathann' Mierzejewski 2007-05-11 17:43:16 UTC
No response, closing.