Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 223557 - Review Request: mdbtools - tools for extracting things from Access databases
Summary: Review Request: mdbtools - tools for extracting things from Access databases
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Dominik 'Rathann' Mierzejewski
QA Contact: Fedora Package Reviews List
Depends On:
TreeView+ depends on / blocked
Reported: 2007-01-19 23:35 UTC by Paul F. Johnson
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2007-05-11 17:43:16 UTC
dominik: fedora-review-

Attachments (Terms of Use)
Patch to fix build of odbc lib. (deleted)
2007-01-28 21:55 UTC, Dominik 'Rathann' Mierzejewski
no flags Details | Diff

Description Paul F. Johnson 2007-01-19 23:35:03 UTC
Spec URL:

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

    Please split the GUI app into a separate package, it adds a lot of
    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

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:

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:

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:

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=\"\"
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
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:

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 .

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

Note You need to log in before you can comment on or make changes to this bug.