Debiani paketi ehitamine Ubuntus

Allikas: Pingviini viki

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.