Debiani paketi ehitamine Ubuntus
Viimasel ajal olen mitmel korral sattunud vastamisi olukorraga, kus Ubuntule lähtekoodist paketi ehitamiseks ei piisa ainult "./configure - make - make-install" lahendusest. Mõnikord ehitatakse deb paketid hoopis teiste nimedega, kui lähtekoodist järeldada võiks. Selleks puhuks ongi mõeldud see õpetus. Näiteks võtan ühe viimase juhuse, kus oli vaja Ubuntule ehitada pcscd versioon 1.5.5, samas ubuntu enda varamu kõige uuem versioon on 1.5.3
Lähtekoodi hankimine
Võtame näidispaketiks eestlastele üsna tuntud tarkvara: http://packages.debian.org/source/sid/pcsc-lite Lähtekoodipakett on pcsc-lite, aga sellest tehakse tegelikult kokku kolm paketti: pcscd, libpcsclite1 ja libpcsclite-dev. Asi võib esmapilgul segane tunduda, aga tegelikult on asi palju lihtsam. Kõigepealt laeme alla lähtekoodi näiteks kataloogi ~/pcscd. Antud näite puhul siis järgnevad failid:
- pcsc-lite_1.5.5-3.dsc
- pcsc-lite_1.5.5.orig.tar.gz
- pcsc-lite_1.5.5-3.diff.gz
Lahtipakkimine
Lahtipakkimiseks ja patchimiseks on üks lihtne käsk.
# dpkg-source -x pcsc-lite_1.5.5-3.dsc
Nüüd tekkis meile kataloog pcsc-lite-1.5.5 Liigume sinna sisse.
Vajadusel muudame lähtekoodi
Vajadusel muudame lähtekoodi näiteks lastes käima manuaalselt mõne patchi või muudame näiteks ./configure rida, mis asub failis debian/rules. Mina näiteks lisasin sellise rea: --disable-libhal. Käsitsi patchi käivitamine käib nii:
# patch -p0 < mingipatchfail.patch
Hakkame ehitama
Nüüd siis kõige lihtsam osa, lükkame käima käsu:
# debian/rules binary
Nüüd ehitati meile vajalikud paketid ~/pcscd kataloogi ning võime need rahulikult installida säilitades seejuures paketimajandusega ühilduvuse.