SPECS (DEVEL): hk_classes.spec - fixed default driver dir (hk_driv...

Charles kkrenski w gmail.com
Śro, 2 Lis 2005, 20:59:27 CET


05-11-02, Tomasz Wittner <twittner w o2.pl> napisał(a):
> >  %build
> > +%{__sed} -i 's,\$(HK_CLASSESDIR),%{_libdir}/%{name},' hk_classes/Makefile.am
> [...]
> O tutaj chodzi? - bo wygląda to źle. Raz że preferuj(ę/emy) %patch'a na sed'a,
> dwa, że manipulacji na HK_CLASSESDIR dokonuj(ę/emy) w acinlude.m4 (a jest ona
> używana w wielu innych Makefilach.am), trzy - IMO dotąd było dobrze
> (przynajmniej knoda działa z {postgre,my}sql) - poproszę o pokazanie co źle
> działa.
OK. Po kolei.
1. Knoda nie działa i nie działała wcześniej dobrze. Sam możesz to
sprawdzić usuwając katalog ~/.hk_classes (czyli symulując pierwsze
uruchomienie). Nie zobaczysz żadnych zainstalowanych driverów do baz
danych. Lub lepiej:
poldek -i python-hk_classes
python -c "import hk_classes; print hk_classes.hk_drivermanager_path()"
I zobacz jaki pokaże katalog z driverami.

2. Powyższa zmiana nie ma wpływu na kompilację driverów (o tym
wspominasz - czyli -dir.patch), a jedynie na sam "silnik" hk_classes.
Powoduje ona zdefiniowanie  (i przekazanie) HKCLASSES jako
/usr/lib{64}/hk_classes (-DHKCLASSES="/usr/lib/hk_classes")..Aby nie
rzeźbić w źródłach - to wystarczy. Jak sam możesz się przekonać
domyślna ścieżka dla driverów jest "zaszyta" w hk_drivermanager.cpp i
w skrócie budowana jest następująco:
HKCLASSES + "/drivers"

Konkludując. Po przeniesieniu biblioteki z domyślnego (dla hk_classes)
/usr/lib/hk_classes do /usr/lib hk_drivermanager zwraca ścieżkę dla
driverów jako:
/usr/lib/drivers.
Powyższa poprawka to zmienia (a czy sedem, czy patchem to już inna sprawa).

--
Pozdrawiam,
Karol Krenski


Więcej informacji o liście dyskusyjnej pld-devel-pl