By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 437

Summary: Could you please add knoda ?
Product: TDE Reporter: Paolo Saggese <pmsa4-trinity>
Component: non-core programsAssignee: Timothy Pearson <kb9vqf>
Status: PATCHAVAIL ---    
Severity: needs packaging CC: albator78, bugwatch, kb9vqf, mutantturkey, slavek.banko
Priority: P5    
Version: 3.5.13.x [Trinity]   
Hardware: All   
OS: Linux   
Compiler Version: TDE Version String:
Application Version: Application Name:
Bug Depends on:    
Bug Blocks: 2967    
Attachments: knoda : fix FTBFS because missing LDFLAGS
hk_classes: fix FTBFS with gcc >= 4.3
hk_classes : fix FTBFS because invalid string format
hk_classes : fix build with automake >= 1.13
hk_classes : fix io.h include
hk_classes : fix io.h include (2)
hk_classes : fix system library detection
hk_classes : fix Python detection autotool macro
hk_classes : fix system library and python detection (2)
hk_classes : fix build with newer GCC
knoda : move specific "m4" file out of "admin" folder

Description Paolo Saggese 2011-02-10 12:45:28 CST
Hi,

this is my last request, I swear. (well, at least for today! :-)

I really, really need knoda. I use it everyday and need it hard. :-S

I tried to rebuild it myself (I've got the source packages from Debian Lenny and Ubuntu lucid to start from). Unfortunately as it turns out I'm not so skilled at building complex packages. :-(

Everything seems to build just fine with trinity. All binaries and libs are built without errors and correctly placed under opt/trinity/* dirs. But then I get a show-stopping error at the very end of the process: 

dpkg-buildpackage -rfakeroot
[...]
dh_lintian -pknoda
dh_install -pknoda --sourcedir=debian/tmp
dh_install: knoda missing files (usr/bin/*), aborting
make: *** [binary-install/knoda] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2

surely I made some stupid mistake in debian/rules (and/or control) or something like that (can't understand where that usr/bin/* come from!). 

I'm sure you can get it to build in no time... ;-)

Tnx a lot!
Comment 1 Darrell 2013-05-22 20:46:52 CDT
Changing to wish list.
Comment 2 Francois Andriot 2013-07-24 15:54:48 CDT
Created attachment 1397 [details]
knoda : fix FTBFS because missing LDFLAGS
Comment 3 Francois Andriot 2013-07-24 15:56:04 CDT
This package is annoying to build because it requires a 3rd party library named "hk_classes".
This library not only looks obsolete, but also it FTBFS on recent distro ...
Comment 4 Timothy Pearson 2013-07-24 16:12:07 CDT
(In reply to comment #3)
> This package is annoying to build because it requires a 3rd party library named
> "hk_classes".
> This library not only looks obsolete, but also it FTBFS on recent distro ...

I'm not sure that the library is any more "obsolete" than knoda itself, as it seems to be written by the same developer as knoda for usage by knoda.

Discussion list indicates that knoda is still in use as of at least late last year: http://sourceforge.net/mailarchive/forum.php?forum_name=hk-classes-discuss

This is an interesting piece of software that I'd like to see in TDE if possible, as proper database frontends on Linux are few and far between.

It would make sense to put hk_classes into its own GIT module, and build it as a separate library package.  This is what Debian did back when it was supported: http://packages.debian.org/unstable/kde/knoda
Comment 5 Francois Andriot 2013-07-25 01:00:24 CDT
Created attachment 1405 [details]
hk_classes: fix FTBFS with gcc >=  4.3
Comment 6 Francois Andriot 2013-07-25 01:01:15 CDT
Created attachment 1406 [details]
hk_classes : fix FTBFS because invalid string format
Comment 7 Francois Andriot 2013-07-25 01:02:03 CDT
Created attachment 1407 [details]
hk_classes : fix build with automake >= 1.13
Comment 8 Francois Andriot 2013-07-25 01:06:00 CDT
Created attachment 1408 [details]
hk_classes : fix io.h include
Comment 9 Francois Andriot 2013-07-25 01:32:57 CDT
Created attachment 1409 [details]
hk_classes : fix io.h include (2)
Comment 10 Francois Andriot 2013-07-25 01:36:19 CDT
Created attachment 1410 [details]
hk_classes : fix system library detection
Comment 11 Francois Andriot 2013-07-25 02:12:54 CDT
Created attachment 1411 [details]
hk_classes : fix Python detection autotool macro
Comment 12 Francois Andriot 2013-07-25 02:51:21 CDT
Created attachment 1412 [details]
hk_classes : fix system library and python detection (2)
Comment 13 Francois Andriot 2013-07-25 02:52:54 CDT
Created attachment 1413 [details]
hk_classes : fix build with newer GCC
Comment 14 Francois Andriot 2013-07-25 03:01:14 CDT
OK with the current 6 attaches patches, I manage to build hk_classes 0.8.3 on several distributions.

1) Untar source tarball.
2) Apply patches, in order.
3) Build as follow:


autoreconf -fiv
export CXXFLAGS="${CXXFLAGS} -DHAVE_IO_H"
./configure --disable-static
make
make install

#####

To check that everything has built, I expect the following drivers (I think I've got them all):
Note: %{_libdir}/%{name} is "/usr/lib/hk_classes", for example)

%{_libdir}/%{name}/drivers/libhk_dbasedriver.la
%{_libdir}/%{name}/drivers/libhk_dbasedriver.so
%{_libdir}/%{name}/drivers/libhk_dbasedriver.so.0
%{_libdir}/%{name}/drivers/libhk_dbasedriver.so.0.0.0
%{_libdir}/%{name}/drivers/libhk_firebirddriver.la
%{_libdir}/%{name}/drivers/libhk_firebirddriver.so
%{_libdir}/%{name}/drivers/libhk_firebirddriver.so.0
%{_libdir}/%{name}/drivers/libhk_firebirddriver.so.0.0.0
%{_libdir}/%{name}/drivers/libhk_mdbdriver.la
%{_libdir}/%{name}/drivers/libhk_mdbdriver.so
%{_libdir}/%{name}/drivers/libhk_mdbdriver.so.0
%{_libdir}/%{name}/drivers/libhk_mdbdriver.so.0.0.0
%{_libdir}/%{name}/drivers/libhk_mysqldriver.la
%{_libdir}/%{name}/drivers/libhk_mysqldriver.so
%{_libdir}/%{name}/drivers/libhk_mysqldriver.so.3
%{_libdir}/%{name}/drivers/libhk_mysqldriver.so.3.0.4
%{_libdir}/%{name}/drivers/libhk_odbcdriver.la
%{_libdir}/%{name}/drivers/libhk_odbcdriver.so
%{_libdir}/%{name}/drivers/libhk_odbcdriver.so.0
%{_libdir}/%{name}/drivers/libhk_odbcdriver.so.0.0.0
%{_libdir}/%{name}/drivers/libhk_paradoxdriver.la
%{_libdir}/%{name}/drivers/libhk_paradoxdriver.so
%{_libdir}/%{name}/drivers/libhk_paradoxdriver.so.0
%{_libdir}/%{name}/drivers/libhk_paradoxdriver.so.0.0.0
%{_libdir}/%{name}/drivers/libhk_postgresdriver.la
%{_libdir}/%{name}/drivers/libhk_postgresdriver.so
%{_libdir}/%{name}/drivers/libhk_postgresdriver.so.0
%{_libdir}/%{name}/drivers/libhk_postgresdriver.so.0.0.1
%{_libdir}/%{name}/drivers/libhk_sqlite2driver.la
%{_libdir}/%{name}/drivers/libhk_sqlite2driver.so
%{_libdir}/%{name}/drivers/libhk_sqlite2driver.so.0
%{_libdir}/%{name}/drivers/libhk_sqlite2driver.so.0.0.0
%{_libdir}/%{name}/drivers/libhk_sqlite3driver.la
%{_libdir}/%{name}/drivers/libhk_sqlite3driver.so
%{_libdir}/%{name}/drivers/libhk_sqlite3driver.so.0
%{_libdir}/%{name}/drivers/libhk_sqlite3driver.so.0.0.0

#####

Postinstall steps (from RPM package), change for your distribution:

# get rid of rpath
chrpath --delete $RPM_BUILD_ROOT/usr/bin/*

# fix the .la files (remove reference of the build folder !)
perl -pi -e "s|-L$RPM_BUILD_DIR/hk_classes-0.8.3/hk_classes||g" $RPM_BUILD_ROOT%{_libdir}/hk_classes/drivers/*.la

# Creates an 'ld.so.conf' file
mkdir -p %buildroot/etc/ld.so.conf.d
echo "%_libdir/hk_classes" >  %buildroot/%_sysconfdir/ld.so.conf.d/%name.conf
Comment 15 Francois Andriot 2013-07-25 03:28:03 CDT
Created attachment 1414 [details]
knoda : move specific "m4" file out of "admin" folder
Comment 16 Francois Andriot 2013-07-25 03:40:15 CDT
knoda 0.8.3 :

Untar original tarball
 http://downloads.sourceforge.net/project/knoda/knoda/0.8.3/knoda-0.8.3.tar.bz2

Apply the 2 attached patches.

Move specific "m4" file out of "admin" folder:
(the 2nd patch takes care of updating file references)

  mv admin/acinclude.m4.hk_classes .
  rm -rf admin

Convert QT3/TQT3.
Convert KDE3/TDE.

FTBFS (1) because the KDE3/TDE script renames too much stuff.
All "hk_kde" must NOT be renamed to "hk_tde" (too much impact for now).

Revert :
  find . -type f -print0 |xargs -r0 sed -i -e "s|hk_tde|hk_kde|g"

FTBFS (2) in "hk_kdeclasses/hk_kdesimpleform.cpp" because "qApp" was not renamed to "tqApp" line 2532. Fix manually.

FTBFS (3) because linking flag "-lkmdi" should be replaced with "-ltdemdi". Fix it:
  find . -type f -name "Makefile.am" | xargs sed -i "s|-lkmdi|-ltdemdi|g"


Now it works ! Build as usual ...
Comment 17 Timothy Pearson 2013-07-31 14:34:25 CDT
I have added the hk_classes GIT repository and imported the code and patches to it.  It can be accessed via:
git clone http://scm.trinitydesktop.org/scm/git/libhkclasses

I still need to upload the Debian/Ubuntu packaging files for it.