You are not logged in.
Hi there,
so, I built my first package today and I took knoda for learning (http://www.knoda.org/). For those, who don't know, it is a gui database frontend for mysql, postgresql, sqlite and odbc.
To be honest, after packaging it, I hate this tool. I don't like the way it behaves. Maybe someone else likes it..
It needs hk_classes. The two PKBUILDs for hk_classes and knoda are below.
knoda itself needed to be patched. Nothing serious, just a semicolon too much in two of the files (I don't know if it's good style to keep them out - at least it compiles - and it is in a macro call). I've included the patch in the build() part of the PKGBUILD file. The diff files are far below after the knoda PKGBUILD.
Please let me know if there's something wrong with the PKGBUILDs. Enjoy. :-)
EDIT: okay, this package ought to be rooted in /opt/kde :-)
PKGBUILD for hk_classes:
pkgname=hk_classes
pkgver=0.7
pkgrel=1
pkgdesc="Classes supporting knoda, a GUI database frontend"
url="http://www.knoda.org/"
license=""
depends=()
makedepends=(python mysql unixodbc postgresql sqlite)
conflicts=()
replaces=()
backup=()
install=
source=(http://dl.sourceforge.net/sourceforge/hk-classes/$pkgname-$pkgver.tar.bz2)
md5sums=('35c16e935947b0b41b31b8ce5f10d0f1')
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr
make || return 1
make prefix=$startdir/pkg/usr install
}
PKGBUILD for knoda:
pkgname=knoda
pkgver=0.7
pkgrel=1
pkgdesc="A GUI database frontend for MySql, PostgreSql, ODBC"
url="http://www.knoda.org/"
license=""
depends=('kdelibs>=3.2' 'kdebase>=3.2' hk_classes)
makedepends=(qt zlib libpng libjpeg)
conflicts=()
replaces=()
backup=()
install=
source=http://dl.sourceforge.net/sourceforge/knoda/$pkgname-$pkgver.tar.bz2
md5sums=('40bec8b2b27cfcc486731951971fd288')
build() {
cd $startdir/src/$pkgname-$pkgver
patch $startdir/src/$pkgname-$pkgver/hk_kdedbdesigner/hk_kdedbdesignerpartfactory.h $startdir/hk_kdedbdesignerpartfactory.diff
patch $startdir/src/$pkgname-$pkgver/hk_kdeqbepart/hk_kdeqbepartfactory.h $startdir/hk_kdeqbepartfactory.diff
./configure --prefix=/opt/kde
make || return 1
make prefix=$startdir/pkg/usr install
}
Diff file hk_kdedbdesignerpartfactory.diff:
17c17
< K_EXPORT_COMPONENT_FACTORY( libhk_kdedbdesignerpart, hk_kdedbdesignerpartfactory );
---
> K_EXPORT_COMPONENT_FACTORY( libhk_kdedbdesignerpart, hk_kdedbdesignerpartfactory )
Diff file hk_kdeqbepartfactory.diff:
17c17
< K_EXPORT_COMPONENT_FACTORY( libhk_kdeqbepart, hk_kdeqbepartfactory );
---
> K_EXPORT_COMPONENT_FACTORY( libhk_kdeqbepart, hk_kdeqbepartfactory )
I hope, anyone likes this package.
bye
Offline
Thanks. You saved me some time. I was just going to make a package for this application. I'll test it soon.
I'm also working on a few other database administration packages but it takes some time to build them. I'll post my pkgbuilds as soon as they will be ready.
Offline
Well, there's a type in knoda PKGBUILD. The real file looks like this:
pkgname=knoda
pkgver=0.7
pkgrel=1
pkgdesc="A GUI database frontend for MySql, PostgreSql, ODBC"
url="http://www.knoda.org/"
license=""
depends=('kdelibs>=3.2' 'kdebase>=3.2' hk_classes)
makedepends=(qt zlib libpng libjpeg)
conflicts=()
replaces=()
backup=()
install=
source=http://dl.sourceforge.net/sourceforge/knoda/$pkgname-$pkgver.tar.bz2
md5sums=('40bec8b2b27cfcc486731951971fd288')
build() {
cd $startdir/src/$pkgname-$pkgver
patch $startdir/src/$pkgname-$pkgver/hk_kdedbdesigner/hk_kdedbdesignerpartfactory.h $startdir/hk_kdedbdesignerpartfactory.diff
patch $startdir/src/$pkgname-$pkgver/hk_kdeqbepart/hk_kdeqbepartfactory.h $startdir/hk_kdeqbepartfactory.diff
./configure --prefix=/uopt/kde
make || return 1
make prefix=$startdir/pkg/usr install
}
Offline
Improved ;-) pkgbuilds for knoda and hk_classes
knoda PKGBUILD
pkgname=knoda
pkgver=0.7
pkgrel=1
pkgdesc="GUI database frontend for Mysql, Postgresql and odbc"
url="http://www.knoda.org/"
depends=(kdebase hk_classes)
source=http://dl.sourceforge.net/sourceforge/knoda/$pkgname-$pkgver.tar.bz2
md5sums=('40bec8b2b27cfcc486731951971fd288')
build() {
cd $startdir/src/$pkgname-$pkgver
sed -i "/K_EXPORT_COMPONENT_FACTORY/s/;//"
$startdir/src/$pkgname-$pkgver/hk_kdedbdesigner/hk_kdedbdesignerpartfactory.h
sed -i "/K_EXPORT_COMPONENT_FACTORY/s/;//"
$startdir/src/$pkgname-$pkgver/hk_kdeqbepart/hk_kdeqbepartfactory.h
./configure --prefix=/opt/kde
make || return 1
make DESTDIR=$startdir/pkg install
}
hk_classes PKGBUILD
pkgname=hk_classes
pkgver=0.7
pkgrel=1
pkgdesc="C++ GUI independent libraries for development of database applications"
url="http://hk-classes.sourceforge.net/"
makedepends=(python mysql unixodbc postgresql)
source=(http://dl.sourceforge.net/sourceforge/hk-classes/$pkgname-$pkgver.tar.bz2)
md5sums=('35c16e935947b0b41b31b8ce5f10d0f1')
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr --with-pythondir=/usr
make || return 1
make prefix=$startdir/pkg/usr install
}
No additional files are needed now. Also the knoda package will now be built properly (DESTDIR line) - previously it installed some files directly and not to pkg/ subdirs. I also simplified dependencies (according to konoda docs).
Offline
Hello Lanrat,
in the first, thanks for your contribution with the database under arch.
Only few questions:
1. For knoda, only two packages (knoda and hd_classes) are necessary, with kdebase? Why you don't compile knoda and hd_classes and condive their in repo?
2. Is it possibl eto have also rekall?
Thanks.
Ciao.
Luca.
Offline
Hi filattiera and thanks for your interest.
I guess kdebase could be replaced with kdelibs only. It makes no difference really.
No other packages are required because they are already covered by dependencies from kdelibs/kdebase. And hk_classes depends on the database packages.
I'm usually making it this way not to force everyone to install all available database packages. Also sometimes you want to manage a database from another computer so you don't need a database really - only libs.
I don't maintain my own repo because I don't have required bandwidth right now and I don't want to upload any package to arch's incoming until the new package contribution system is ready (I just don't want to create more mess). So for now you have to compile my pkgbuilds (it's really easy) or convince some tur to take them over and include in his repo.
Rekall pkgbuild is available here http://bbs.archlinux.org/viewtopic.php?t=5931 (if that's what you want...)
BTW I can't check every possible configuration and any potential dependency problems. These kde packages take very long time to compile and my processor power is limited (I hope that will soon change :-)). I always try to check if a pkgbuild will work for everybody but it's easy to forget something. If you find something that doesn't work, please post it here and I'll try to improve it (for example if knoda installed from this pkgbuild won't start on your machine without postgresql/mysql I can try to build its libraries statically or something else...).
Offline
Hmmm knoda fails to build for me with the newest PKGBUILDS
hk_kdereportproperty.cpp: In constructor `hk_kdereportproperty::hk_kdereportproperty(hk_kdesimplereport*, const char*, bool, uint)':
hk_kdereportproperty.cpp:149: error: conversion from `const bool' to `const QColor' is ambiguous
/opt/qt/include/qcolor.h:83: note: candidates are: QColor::QColor(const char*)
/opt/qt/include/qcolor.h:81: note: QColor::QColor(QRgb, uint)
hk_kdereportproperty.cpp:162: error: conversion from `const bool' to `const QColor' is ambiguous
/opt/qt/include/qcolor.h:83: note: candidates are: QColor::QColor(const char*)
/opt/qt/include/qcolor.h:81: note: QColor::QColor(QRgb, uint)
make[3]: *** [hk_kdereportproperty.lo] Error 1
make[3]: Leaving directory `/var/abs/local/_contrib/knoda/src/knoda-0.7/hk_kdeclasses'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/abs/local/_contrib/knoda/src/knoda-0.7/hk_kdeclasses'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/abs/local/_contrib/knoda/src/knoda-0.7'
make: *** [all] Error 2
Can anyone help me?
Offline
I'll try to recompile and update (both to 0.7.2) pkgbuilds today but it takes long time to compile them on my machine.
According to
http://knoda.sourceforge.net/changelog.html
this bug was fixed in 0.7.1:
hk_kdereportproperty: compiles with gcc 3.4
Also now knoda should support sqlite2 and sqlite3. We'll see....
Offline
Ok. Done. New pkgbuilds below:
hk_classes PKGBUILD
pkgname=hk_classes
pkgver=0.7.2
pkgrel=1
pkgdesc="C++ GUI independent libraries for development of database applications"
url="http://hk-classes.sourceforge.net/"
makedepends=(python mysql unixodbc postgresql sqlite2 sqlite3)
source=(http://dl.sourceforge.net/sourceforge/hk-classes/$pkgname-$pkgver.tar.bz2)
md5sums=('e7a9210791432a2458e7e174d84d5a0a')
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr --with-pythondir=/usr
make || return 1
make DESTDIR=$startdir/pkg install
}
knoda PKGBUILD
pkgname=knoda
pkgver=0.7.2
pkgrel=1
pkgdesc="GUI database frontend for Mysql, Postgresql, SQLite and ODBC"
url="http://www.knoda.org/"
depends=(kdebase hk_classes)
source=http://dl.sourceforge.net/sourceforge/knoda/$pkgname-$pkgver.tar.bz2
md5sums=('a26b02ad9b7abc0a746241f09219c4eb')
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/opt/kde
make || return 1
make DESTDIR=$startdir/pkg install
}
Offline