Kdyby to někomu ušetřilo čas: podařilo se mi rozchodit aktuální Datovku na Linux Mintu 22.3, ale cesta k tomu byla podstatně delší, než by člověk čekal. Sepisuju proto stručný postup a hlavně záseky, na které jsem narazil.
Neřeším tu Flatpak verzi. Tu jsem měl původně nainstalovanou, ale chtěl jsem mít vlastní nativní build a větší kontrolu nad tím, co přesně používám a odkud se co bere.
Co jsem kompiloval
libisds
libdatovka
Datovka samotná
Hlavní problém
Největší potíž není samotná kompilace, ale to, že build systém starší libdatovka počítá s historickými nástroji a cestami, které na současném Mintu už nejsou úplně tam, kde je čeká.
Základní balíčky
Nejdřív jsem doinstaloval běžné věci pro autotools a build:
Kód: Vybrat vše
sudo apt update
sudo apt install autoconf automake libtool pkg-config make gcc m4 perl \
libssl-dev libgcrypt20-dev libgpgme-dev \
docbook-xsl xsltproc docbook-xml \
qtbase5-dev qttools5-dev libqt5svg5-dev
I. libisds
http://xpisar.wz.cz/libisds/#:~:text=Th ... DS%20Act.)
Stáhnout "správnou" verzi (nebo naklonovat z GITu) + kompilovat ./configure && make && make install. Vhodná verze bývá ta poslední dosažitelná.
II. a III. libssl a libssl-dev
Z http://security.ubuntu.com/ubuntu/pool/main/o/openssl/ stáhněte poslední verzi libssl knihovny ve verzi 1.1. Verze 2.xx nestahujte. datovka akceptuje jen 1.1. Poslední verze k dispozici v době psaní tohoto dokumentu byla 1.1.1f-1ubuntu2.24. Stáhněe knihovnu pro svou platformu a její vávojový balíček a standardně instalujte:
Kód: Vybrat vše
sudo dpkg -i libssl_1.1.1f-1ubuntu2.24 libssl-dev_1.1.1f-1ubuntu2.24
1. Problém: DocBook XSL stylesheets
./configure u libdatovka skončilo chybou typu:
checking for DocBook XSLT stylesheet location in "/usr/share/sgml/docbook/xsl-stylesheets"... configure: error: missing!
Přitom balík docbook-xsl byl nainstalovaný.
Na Mintu 22.3 jsou ale styly jinde, takže pomohl symlink:
Kód: Vybrat vše
sudo mkdir -p /usr/share/sgml/docbook
sudo ln -s /usr/share/xml/docbook/stylesheet/docbook-xsl /usr/share/sgml/docbook/xsl-stylesheets
2. Problém: chybějící gcrypt.h
Při make v libdatovka to spadlo na:
fatal error: gcrypt.h: No such file or directory
Pomohlo doinstalovat:
Kód: Vybrat vše
sudo apt install libgcrypt20-devPři qmake u Datovky se objevilo:
Project ERROR: Unknown module(s) in QT: svg
Pomohlo:
Kód: Vybrat vše
sudo apt install libqt5svg5-devTohle byl největší zásek.
libdatovka se sice nakonec přeložila, ale při linkování Datovky padaly chyby na symboly typu:
undefined reference to `gpgme_...'
undefined reference to `gcry_...'
Ukázalo se, že libdatovka sice viděla libgcrypt, ale nepropadlo do ní správně gpgme, protože build systém čekal starý helper gpgme-config, který už na současném systému není k dispozici.
Pomohlo vytvořit jednoduchý wrapper /usr/local/bin/gpgme-config:
Kód: Vybrat vše
#!/bin/sh
case "$1" in
--version)
pkg-config --modversion gpgme
;;
--cflags)
pkg-config --cflags gpgme
;;
--libs)
pkg-config --libs gpgme
;;
*)
echo "usage: gpgme-config [--version|--cflags|--libs]" >&2
exit 1
;;
esacKód: Vybrat vše
sudo chmod +x /usr/local/bin/gpgme-configKód: Vybrat vše
make distclean || make clean
autoreconf -fi
./configure
make -j"$(nproc)"
sudo make install
sudo ldconfigKód: Vybrat vše
ldd /usr/local/lib/libdatovka.so | egrep 'gpgme|gcrypt|gpg-error'5. Build Datovky
Pak už šla samotná Datovka normálně:
Kód: Vybrat vše
qmake
make -j"$(nproc)"
sudo make install
sudo ldconfig
6. Přesun dat z Flatpaku
Data a konfigurace jsem našel tady:
Kód: Vybrat vše
~/.var/app/org.cznic.Datovka/data
~/.var/app/org.cznic.Datovka/config7. Poznámka k výkonu po prvním startu
Po prvním spuštění se mi Datovka po připojení na chvíli tvářila jako zatuhlá. Nakonec se ale po několika minutách rozběhla a další spuštění už byla lepší. Takže pokud se po migraci dat nebo po prvním přihlášení zdá, že „visí“, nemusí to hned znamenat rozbitou instalaci. Může to být jednorázové zpracování databází nebo synchronizace. Zkuste taky prověřit zda něco neblokuje síť (firewall).
Shrnutí
Na Linux Mint 22.3 Datovku rozchodit jde, ale člověk narazí na několik historických pastí:
stará očekávaná cesta k DocBook XSL stylesheets
chybějící libgcrypt20-dev
chybějící libqt5svg5-dev
build systém libdatovka, který čeká gpgme-config
Takže pokud někdo narazí na podobné chyby, chyba není nutně mezi židlí a klávesnicí. Ten build je prostě na dnešní distribuci už dost archeologie.
Kdyby to někomu pomohlo, budu rád.