| Summary: | Could you please add knoda ? | ||
|---|---|---|---|
| Product: | TDE | Reporter: | Paolo Saggese <pmsa4-trinity> |
| Component: | non-core programs | Assignee: | 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
Changing to wish list. Created attachment 1397 [details]
knoda : fix FTBFS because missing LDFLAGS
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 ... (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 Created attachment 1405 [details]
hk_classes: fix FTBFS with gcc >= 4.3
Created attachment 1406 [details]
hk_classes : fix FTBFS because invalid string format
Created attachment 1407 [details]
hk_classes : fix build with automake >= 1.13
Created attachment 1408 [details]
hk_classes : fix io.h include
Created attachment 1409 [details]
hk_classes : fix io.h include (2)
Created attachment 1410 [details]
hk_classes : fix system library detection
Created attachment 1411 [details]
hk_classes : fix Python detection autotool macro
Created attachment 1412 [details]
hk_classes : fix system library and python detection (2)
Created attachment 1413 [details]
hk_classes : fix build with newer GCC
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
Created attachment 1414 [details]
knoda : move specific "m4" file out of "admin" folder
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 ... 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. |