abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 23:53 | Nová verze

Po půl roce vývoje od vydání verze 2.77 (zprávička) byl vydán Blender 2.78. Blender Foundation spolu s online vývojářskou komunitou představují nejnovější vlastnosti. Z novinek lze zmínit například možnost renderování videí virtuální reality (360° 3D video), viz například Caminandes VR Demo (zprávička). Před třemi týdny bylo zveřejněno Cycles Demoreel 2016, videoukázka toho nejlepšího vytvořeného v Blenderu a vyrenderovaného v Cycles v letošním roce.

Ladislav Hagara | Komentářů: 1
včera 18:05 | Zajímavý článek

Bylo vydáno (pdf) již padesáté číslo stostránkového anglicky psaného časopisu MagPi věnovanému Raspberry Pi a projektům postaveným na tomto jednodeskovém počítači. K dispozici je také jako papírový časopis za 5,99 £.

Ladislav Hagara | Komentářů: 0
včera 07:30 | Nová verze

Gordon "Fyodor" Lyon vydal Nmap 7.30. Nová stabilní verze tohoto nástroje přináší například 7 nových NSE (Nmap Scripting Engine) skriptů od 3 autorů. Celkový počet NSE skriptů tak stoupl na 541. Podrobný přehled novinek a vylepšení v seznamu změn.

Ladislav Hagara | Komentářů: 0
29.9. 17:22 | Nová verze

Byl vydán PostgreSQL 9.6. Nejnovější verze tohoto relačního databázového systému s otevřeným zdrojovým kódem přináší celou řadu nových vlastností a vylepšení. Zmínit lze například podporu paralelních dotazů nebo fulltextové vyhledávání frází. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 14
29.9. 16:44 | Nová verze

Na blogu linuxové distribuce Linux Mint byl představen miniaturní počítač Mintbox Mini Pro s předinstalovaným Linux Mintem 18. Jedná se o nástupce miniaturního počítače MintBox Mini (zprávička) představeného v lednu loňského roku. Mintbox Mini Pro je o 100 dolarů dražší, vyjde na 395 dolarů.

Ladislav Hagara | Komentářů: 5
29.9. 13:33 | Komunita

Clement "Clem" Lefebvre v příspěvku Addressing FUD na blogu vývojářů Linux Mintu Segfault obviňuje vývojáře, správce a komunity kolem konkurenčních linuxových distribucí, že úmyslně šíří strach, nejistoty a pochyby ohledně Linux Mintu s cílem podpořit své vlastní linuxové distribuce.

Ladislav Hagara | Komentářů: 38
29.9. 13:30 | Nová verze

Vyšla nová verze "asociálního" prohlížeče a analyzátoru GPX souborů GPXSee. Verze 2.19 přináší především časové grafy a zvýrazňování tras/grafů. Zdrojové kódy jsou ke stažení na GitHubu, balíčky na OBS, Windows a OS X buildy na SourceForge.

Martin Tůma | Komentářů: 2
29.9. 02:20 | Komunita

Mozilla.cz informuje, že program Firefox Test Pilot (zprávička) byl rozšířen o 3 nové experimentální funkce. Jedná se o Page Shot, Min Vid a Tracking Protection. Page Shot je nástroj pro vytváření snímků obrazovky s možností výběru konkrétní oblasti na stránce. Min Vid umožňuje sledování videí ze serverů YouTube nebo Vimeo v malém okně současné s prohlížením jiných webových stránek. Tracking Protection umožňuje zapnout ochrana proti sledování také v běžných oknech.

Ladislav Hagara | Komentářů: 6
28.9. 20:02 | Komunita

Nadace Raspberry Pi na svém blogu představuje PIXEL (Pi Improved Xwindows Environment, Lightweight), nové výchozí desktopové prostředí pro Raspberry Pi. Prostředí PIXEL je obsaženo již v aktuální verzi 2016-09-23 Raspbianu. Ten nově přichází například také s webovým prohlížečem Chromium, možností vzdáleného grafického přístupu k desktopu pomocí RealVNC nebo emulátorem rozšiřující desky Sense HAT.

Ladislav Hagara | Komentářů: 12
28.9. 12:34 | Nová verze

Po téměř deseti letech vývoje a testování byl LuaTeX (Wikipedie), program pro počítačovou sazbu TeX rozšířený o skriptovací jazyk Lua, prohlášen za dostatečně stabilní na to, aby mohla být vydána verze 1.0.0. Stalo se tak na 10. ConTeXt Meetingu.

Ladislav Hagara | Komentářů: 5
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (30%)
 (28%)
 (29%)
 (7%)
 (4%)
 (1%)
Celkem 219 hlasů
 Komentářů: 8, poslední dnes 16:35
    Rozcestník
    Reklama

    Balíčky pro Debian - 5 (Debhelper a ti druzí)

    10. 7. 2008 | Michal Čihař | Návody | 4145×

    V minulém díle jsme sice vytvořili první balíček, ale zatím jsme moc nezkoumali co zapříčinilo, že se nám vlastně zkompiloval.

    Obsah

    Jak již zaznělo v minulém díle, soubor debian/rules obsahuje Makefile, který zapříčiní vytvoření balíčku. Napsat vše, co je potřeba pro vytvoření balíčku přímo do tohoto souboru, asi není nejlepší, takže vzniklo několik nástrojů, které nám práci usnadní. Nejstarší a dnes již nepodporovaný byl debmake. Dnes již však téměř všechny balíčky používají debhelper. Ten se skládá ze sady mnoha příkazů, přičemž každý má na starosti jednu konkrétní část tvorby balíčku.

    Nadstavby nad Debhelperem a jeho náhrady

    link

    Debhelper samozřejmě není jediný nástroj, který lze pro vytváření balíčků použít. Existuje mnoho projektů, které se snaží debian/rules ještě zjednodušit, nebo případně automaticky generovat. Debhelper je však zdaleka nejpoužívanější a některé nadstavby jej stejně používají.

    Nejrozšířenější nadstavba je bezpochyby CDBS. Jedná se o sady include skriptů pro make, které u balíčků jež se chovají standardně (například GNOME programy, pythonovské moduly a podobně) umožní zcela vynechat vlastní psaní pravidel. Stačí do debian/rules napsat vhodné include a vše bude automaticky fungovat. Za vším tímto je však stále schován Debhelper a pokud nám něco přestane fungovat, nevyhneme se jeho naučení.

    Dalším zajímavým projektem je YADA. Ten jde cestou podobnou RPM a veškeré informace o balíčku jsou uloženy v souboru debian/packages. YADA z pak něj vygeneruje debian/control, debian/rules a případně i další skriptíky. Tímto nástrojem se však zabývat nebudu, protože s ním nemám žádné zkušenosti.

    Debhelper

    link

    Naším hlavním pomocníkem při vytváření debian/rules je tedy Debhelper. Ten se v současné době skládá téměř z padesáti skriptů, z nichž každý má na starosti jinou část vytváření balíčku. Když se podíváme do našeho balíčku, zjistíme, že se jich i v takto jednoduchém balíčku používá poměrně dost. Hlavní příčina toho je, že každý skript se stará právě o jednu věc a tím je umožněna dostatečná granularita vytváření našeho skriptu.

    Všechny příkazy Debhelperu najdete zdokumentované v man stránkách, takže kdykoliv potřebujete o některém z nich podrobnější informace, příkaz man vám pomůže. Ty nejdůležitější si však popíšeme; buď dnes, nebo v některém z následujících dílů.

    Jak vlastně celkové vytváření balíčku funguje? Nejprve se standardně zkompiluje, instalace se pak provádí do adresáře debian/jméno-binárního-balíčku, kde se provedou závěrečné úpravy a tento adresář se zabalí do finálního balíčku. Pokud náš zdrojový balíček vytváří více balíčků, obvykle se instaluje do adresáře debian/tmp a jednotlivé části se pak za pomoci skriptů z Debhlepera nakopírují do správného adresáře pro daný balíček.

    dh_testdir

    link

    Tento příkaz by se měl objevit na začátku každého pravidla a jediné, co má na starosti, je zkontrolovat, jestli se nacházíte ve správném adresáři (tedy nejvyšším adresáři zdrojáků).

    dh_testroot

    link

    Další příkaz, který se vyskytuje často. Tentokrát jen pro pravidla, která mohou vytvářet soubory s právy superuživatele, tedy pro cíle jako install, clean, binary-arch a binary-indep. Jak již jeho název napovídá, jen kontroluje, jestli máte dostatečná oprávnění. Jak již jsem upozorňoval v minulém díle, tak balíčky se nekompilují pod skutečným superuživatelem, ale v prostředí fakeroot.

    dh_clean

    link

    Vyčistí adresář debian od dočasných souborů vzniklých při kompilaci a instalaci.

    dh_install*

    link

    Skripty začínající na dh_install mají na starosti instalaci různých druhů souborů na správná místa do balíčků. Protože se jedná o poněkud obsáhlejší téma, bude jejich podrobnějšímu popisu věnován další díl.

    link

    Skript dh_link slouží pro vytváření symbolických odkazů a opravu těch existujících podle Debian Policy. Pro vytváření se zadávají parametry ve stejném pořadí jako u příkazu ln.

    dh_strip

    link

    Tento skript odstraní ladicí symboly z programů a knihoven v balíčku. Tím se sice balíček zmenší, ale v případě pádu je obtížnější získat přesný popis problému. Proto je doporučeno u většiny knihoven ještě vytvářet -dbg balíček, který bude obsahovat tyto ladicí symboly. Obsah tohoto balíčku vygeneruje dh_strip automaticky po zadání parametru --dbg-package=jméno-debug-balíčku.

    dh_compress

    link

    Projde nainstalovanou dokumentaci a soubory větší než 4 kB zabalí gzipem.

    dh_fixperms

    link

    Opraví práva u souborů v balíčku. Opraví například chybná práva pro standardní adresáře, odstraní setuid a setgid bity a podobně.

    dh_installdeb

    link

    Zkopíruje skripty a informace o balíčku do adresáře debian/jméno-binárního-balíčku/DEBIAN. Z tohoto adresáře se po vytvoření balíčku stane archív control.tar.gz.

    dh_shlibdeps

    link

    Zjistí závislosti na sdílených knihovnách a vytvoří proměnné pro nahrazení v závislostech, které posléze použije dh_gencontrol.

    dh_gencontrol

    link

    Nahradí proměnné v souboru debian/control a zapíše verzi do debian/jméno-binárního-balíčku/DEBIAN/control.

    dh_md5sums

    link

    Spočítá MD5 kontrolní součty souborů v balíčku a uloží je jako debian/jméno-binárního-balíčku/DEBIAN/md5sums.

    dh_builddeb

    link

    Vytvoří binární balíček. Tento skript v podstatě jen zavolá dpkg-deb s vhodnými parametry a ten se již postará o vlastní vytvoření balíčku.

    dh

    link

    Na závěr jsem si nechal nový přírůstek do rodiny Debhelpera, jedná se o odpověď na různé zjednodušování debian/rules pomocí CDBS a podobných. Skript dh je pro standardní balíčky (v současné době používající autoconf, distutils nebo Build.PL) schopen provést veškeré potřebné kroky a v případě ideálního balíčku může být soubor debian/rules zjednodušen až na tři řádky:

    #!/usr/bin/make -f
    %:
        dh $@
    

    Ve skutečném světě to tak jednoduché většinou není, ale i tak si pomocí tohoto nástroje můžeme ušetřit dost práce.

    Závěr

    link

    Nyní již máme stručný přehled toho, co se při vytváření děje, a příště se podíváme na část, kterou jsme dnes poněkud vynechali - instalaci souborů do správných balíčků a na správné místo.

    Nejčtenější články posledního měsíce

    Zpráva pro talentované linuxáky: pojďme s námi tvořit internet
    HW novinky: výrobci SSD svorně hovoří o 100TB kapacitě
    Jaderné noviny - 1. 9. 2016: Pohled do hlavy vývojářky Coccinelle

    Nejkomentovanější články posledního měsíce

    Zpráva pro talentované linuxáky: pojďme s námi tvořit internet
    Filtrujeme čtivé texty z Projektu Gutenberg 8
    HW novinky: výrobci SSD svorně hovoří o 100TB kapacitě
      všechny statistiky »

    Seriál Balíčky pro Debian (dílů: 12)

    Balíčky pro Debian - 1 (úvod) (první díl)
    <—« Balíčky pro Debian - 4 (kompilace balíčku a náš první balíček)
    »—> Balíčky pro Debian - 6 (instalace souborů)
    Balíčky pro Debian - 12 (závěr aneb co se jinam nevešlo) (poslední díl)

    Související články

    Na co se často ptáme: Balíčkovací systémy
    Seriál: Instalace softwaru v Linuxu
    Seriál: Gentoo ebuild
    Seriál: Rukověť baliče RPM
    Seriál: Balíčkovací systém Arch Linuxu
    Smart Package Manager - instalujeme chytře
    Zdroje balíčkov pre Ubuntu
    Balíčkovací systém Mandrake Linuxu
    Balíčkovací systém Gentoo Linuxu

    Odkazy a zdroje

    Návod pro začínajícího balíčkáře
    Příručka vývojáře
    Zásady Debianu
    Dokumentace pro vývojáře

    Další články z této rubriky

    Filtrujeme čtivé texty z Projektu Gutenberg 8
    Filtrujme čtivé texty z Projektu Gutenberg 7
    Filtrujme čtivé texty z Projektu Gutenberg 6
    Filtrujme čtivé texty z Projektu Gutenberg 5
    Filtrujme čtivé texty z Projektu Gutenberg 4
           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    ISSN 1214-1267   Powered by Hosting 90 Server hosting
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.