Vytvareni .deb balicku ze zdrojaku pro Ubuntu (Debian)

Home / Uncategorized / Vytvareni .deb balicku ze zdrojaku pro Ubuntu (Debian)

Mhohem lepsi nez instalovat program (ktery neni v repozitarich nebo chceme novou verzi) "kompilaci" je kdyz uz ho jednou kompilujeme si vytvorit .deb balicek. Takto nainstalovany balicek nam nenechava bordel v systemu po odinstalaci a muzeme si ho zaclenit do systemu pomoci nastroju k tomu urcenych (dpkg, apt), coz nam usnadnuje jeho budouci odinstalaci, pripadne instalaci jiz bez kompilace.

Je vice cest jak tento balicek vytvorit, popisu tu 2

1. vytvoreni balicku .deb pro ubuntu ze zdrojaku pomoci checkinstall (lehci)

2. vytvoreni balicku .deb pro ubuntu ze zdrojaku pomoci debhelperu (slozitejsi)

Jako zaklad pro vytvareni balicku potrebujeme mit nainstalovany balik build-essential, takze "sudo aptitude install build-essential" 

Vytvoreni balicku .deb pro ubuntu ze zdrojaku pomoci checkinstall (jednoduche, pro vlastni potrebu):

  • nainstalovat checkinstall a dalsi nastroje "sudo aptitude install checkinstall auto-apt"
  • aktualizujeme repozitare auto-aptu "auto-apt update && auto-apt updatedb && auto-apt update-local"
  • rozbalit zdrojaky – "tar xvzf jmeno.baliku.tar.gz"
  • prepnout se do rozbaleneho adresare a spustit "./configure" abychom zjistili jake jsou zavislosti, popr. doinstalovat zavislosti (devel knihovny) a zase "./configure" dokud to neni ok, nebo staci "auto-apt run ./configure", ktery si zavislosti automaticky doinstaluje
  • spustit "make"
  • spustit "sudo checkinstall"
  • a odpovedet na par dotazu ohledne balicku, po uspesnem dokonceni se nam adresari vytvori debiani balicek

Vytvoreni balicku .deb pro ubuntu ze zdrojaku pomoci debhelperu (slozitejsi):

  • nainstalovat potrebne baliky – "sudo aptitude install dh-make debhelper fakeroot devscripts lintian auto-apt dpatch"
  • aktualizujeme repozitare auto-aptu "auto-apt update && auto-apt updatedb && auto-apt update-local"
  • rozbalit zdrojaky programu ze ktereho chceme vytvorit deb "tar xvzf jmeno.baliku.tar.gz" a "cd" do rozbaleneho adresare
  • spustit "dh_make -e emailadress@domena.com -f ../zdrojovybalik.tar.gz", zvolime "s" jako single package, dale se nam ve zdrojaku vytvori adresar "debian" se soubory potrebnymi k vytvoreni balicku
  • v adresari "debian" postupne modifikujeme tyto soubory (pokud budeme uploadovat nekam dale):
  • "echo 5 > debian/compat" zapiseme verzi debhelperu do souboru "compat"
  • soubor "control", kde doplnime vsechny devel (vyvojove) knihovny v sekci "Build-depends" a ne-devel knihovny do sekce "Depends"
  • soubor "changelog" kde pozmenine udaje podle naseho buildu
  • soubor "copyright" kde doplnime potrebne udaje ohlede copyrightu
  • soubor "rules" kde muzeme "tunit" balicek, napr. s jakyma flagama se bude kompilovat atd.., nejslozitejsi cast
  • a nakonec smazeme vsechny soubory s priponou .ex a .EX
  • konecne vytvorime balik a zdrojovy balik "dpkg-buildpackage -rfakeroot -uc -us", ktery vytvori nepodepsany zdrojovy i deb balicek
  • a nebo jen "fakeroot debian/rules binary" pro vytvoreni deb baliku bez zdrojoveho baliku
  • pokud nam chybeji devel knihovny doinstalovat pomoci auto-apt nebo rucne
  • zkontrolujeme balicek na chyby pomoci lintian, pokud chceme uploadovat balicky nekam dale "lintian nazev_balicku.deb", pripadne s parametrem "-i" pro vysvetleni chyb 

Takto jsme vytvorili balicek pro konkretni distribuci/architekturu (napr. "ubuntu-gutsy-i386"), pro vytvoreni balicku pro ruzne verze distribuce/architektury lze pouzit program pbuilder, ale jeho pouziti je mimo tenhle clanek. 

pokus

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *