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í
×
    včera 22:22 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 19:11 | IT novinky

    Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.

    Ladislav Hagara | Komentářů: 2
    včera 11:22 | Zajímavý projekt

    Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.

    Ladislav Hagara | Komentářů: 0
    včera 09:11 | Bezpečnostní upozornění

    Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.

    Ladislav Hagara | Komentářů: 0
    1.5. 20:00 | Komunita

    V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.

    Ladislav Hagara | Komentářů: 1
    1.5. 19:22 | IT novinky

    Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).

    Ladislav Hagara | Komentářů: 0
    30.4. 22:33 | Nová verze

    Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.

    Ladislav Hagara | Komentářů: 0
    30.4. 17:44 | Zajímavý článek

    Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.

    karkar | Komentářů: 0
    30.4. 12:11 | Humor

    Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).

    Ladislav Hagara | Komentářů: 7
    30.4. 10:44 | IT novinky

    Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.

    Ladislav Hagara | Komentářů: 36
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (21%)
     (4%)
     (1%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 504 hlasů
     Komentářů: 19, poslední 30.4. 11:32
    Rozcestník

    Balíčky pro Debian - 6 (instalace souborů)

    23. 7. 2008 | Michal Čihař | Návody | 6522×

    Nyní už víme, co to je Debhelper, a známe některé jeho příkazy. Tu nejdůležitější část jsme však minule vynechali a podíváme se na ni dnes. Jak tedy správně rozdělit soubory do binárních balíčků?

    Obsah

    Pokud náš zdrojový balíček vytváří jediný binární, máme situaci jednoduchou, stačí provést instalaci do debian/jméno-binárního-balíčku a máme hotovo. V opačném případě musíme ještě nějak zajistit rozdělení souborů mezi jednotlivými balíčky. K tomu nám opět pomůže Debhelper, a to konkrétně jeho příkaz dh_install. Kromě něho ještě existuje spousta jeho variant pro instalaci různých typů souborů, které si dnes také vysvětlíme.

    Většina skriptů dnes popisovaných umožňuje dva způsoby zadání souborů pro instalaci. Buď přímo na příkazové řádce, nebo ze souboru v adresáři debian/, který se jmenuje jméno-balíčku.typ-souborů, například hello.dirs. V některých situacích můžeme použít soubor pro všechny binární balíčky (nebo máme jen jeden), můžeme jméno balíčku vynechat a soubor se tedy bude jmenovat jen dirs. Toto zjednodušení však nefunguje pro všechny možnosti, a proto ho používejte, jen pokud je to opravdu nutné. Použitím jména balíčku bude vždy zřejmé, k čemu tento soubor patří i po jeho případné reorganizaci. Zadávání parametrů na příkazové řádce se moc věnovat nebudu, protože mnohem přehlednější je používat zmíněné soubory.

    dh_install

    link

    Tento skript je nejobecnějším pomocníkem při instalaci souborů. Do souboru debian/jméno-balíčku.install zapíšeme na každý řádek zdroj a cíl, kam se má nainstalovat. Pokud cíl neuvedeme, uvažuje se stejný adresář jako je ve zdroji. Jako zdroj můžeme uvést soubor, adresář nebo více souborů pomocí žolíků. Jména zdrojových souborů se udávají relativně ke kořenovému adresáři zdrojových kódů. Pokud však chceme jen přesouvat soubory z debian/tmp, můžeme změnit zdrojový adresář pomocí parametru:

    dh_install --sourcedir=debian/tmp

    Typickým příkladem pro použití dh_install je rozdělení souborů vzniklých instalací programu se sdílenou knihovnou. Nechť se tento program jmenuje foo a knihovna, kterou obsahuje, libbar. Správné rozdělení do balíčků by mělo vypadat tak, že binární balíček foo bude obsahovat program a dokumentaci k němu (typicky man stránky), balíček libbar0 (knihovna má soname 0) pak knihovnu se jménem odpovídající soname a nakonec vývojový balíček libbar-dev, hlavičkové soubory, symbolický odraz libbar.so a případně i statickou knihovnu.

    Pro tento účel budeme potřebovat pro každý balíček jeden soubor .install. U programu to bude celkem jednoduché - debian/foo.install:

    usr/bin
    usr/share/man/man1

    Pro knihovnu si vystačíme s jediným záznamem - debian/libbar0.install:

    usr/lib/libbar*.so.*

    Nejvíce věcí musíme uvést u vývojového balíčku - debian/libbar-dev.install:

    usr/include
    usr/lib/libbar*.so
    usr/share/man/man3

    Další skripty pro instalaci

    link

    Další skripty se chovají velmi podobně - buď pracují stejně jako code>dh_install se seznamem souborů, nebo přímo instalují nějaký soubor pojmenovaný podle výše zmíněné konvence. Nejprve si probereme ty obecnější, které se mohou hodit u téměř libovolného balíčku, a na závěr zůstane stručný přehled speciálních, které budete potřebovat jen občas.

    dh_installdirs

    link

    Tento skript má jednoduchý úkol vytvořit adresáře; seznam adresářů načítá ze souboru debian/jméno-balíčku.dirs. Ve většině případů je instalační skript programu dost chytrý na to, aby si chybějící adresáře vytvořil, takže dh_installdirs vůbec nepotřebujeme.

    dh_installdocs

    link

    Toto je naopak velmi užitečný skript pro instalaci dokumentace. Různé README a TODO soubory totiž obvykle nikdo neinstaluje, a proto správci balíčku nezbude, než se o ně postarat. Stačí jejich seznam napsat do souboru debian/jméno-balíčku.docs a dh_installdocs se postará o jejich správné umístění (do adresáře usr/share/docs/jméno-balíčku). Stejně tak nainstaluje soubory debian/README.Debian a debian/TODO (případně s předponou jména balíčku).

    dh_installexamples

    link

    Podobný jako předchozí, ale tentokrát se stará o instalaci příkladů do adresáře usr/share/docs/jméno-balíčku/examples. Seznam příkladů se načítá ze souboru debian/jméno-balíčku.examples.

    dh_installchangelogs

    link

    Kromě dokumentace je ještě důležitý seznam změn a o ten se stará dh_installchangelogs. Do stejného adresáře jako dokumentaci nainstaluje debian/changelog (pod jménem changelog.Debian) a případně i debian/NEWS (ten je nainstalován jako NEWS.Debian). Jako volitelný parametr mu můžeme zadat jméno souboru se změnami v tarballu, takže výsledné volání může vypadat například takto:

    dh_installchangelogs ChangeLog

    Další nástroje

    link

    V podobném duchu existuje ještě asi 20 dalších nástrojů. Protože se s nimi však většinou nesetkáte, nebudu je již tak podrobně probírat. Nicméně i z těchto jsem vybral pár těch zajímavějších, které jen stručně vyjmenuji:

    • dh_installman - instalace man stránek; v Debianu je zvykem mít pro každý program man stránku. Pokud ji autor programu neposkytuje, bude se nám tento skript hodit.
    • dh_installmenu - Debian má vlastní systém pro správu menu v grafickém prostředí a tento skript vám umožní instalovat soubory pro něj. Dnes je však již trochu na ústupu a Ubuntu ho již v podstatě úplně nahradilo standardními desktop soubory podle Freedesktop.org.
    • dh_installxfonts - Pokud chceme zabalit nějaké fonty, tento skript vám pomůže je správně zaregistrovat do X.org.
    • dh_installdebconf - Skript pro instalaci šablon pro Debconf, nástroj umožňující získávat odpovědi od uživatele při instalaci balíčku. Popisu Debconfu se mimo jiné bude věnovat následující článek.

    Nyní již máte celkem slušný přehled o tom, co které skripty dělají, a můžete se zkusit podívat do našeho ukázkového balíčku a zjistit, které skripty vůbec nejsou potřeba a naopak, které by se mohly dále hodit.

           

    Hodnocení: 80 %

            š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ář

    23.7.2008 14:11 Jirka P
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 6 (instalace souborů)
    Chápu to dobře, že dh_install jako jediný umožňuje zadat s jménem souboru i adresář, kam se nainstaluje? Jakým způsobem nejlíp nainstalovat do balíku dva dokumentační soubory, třeba a/README a b/README?
    23.7.2008 23:43 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 6 (instalace souborů)
    Blbě :-). Pokud se opravdu oba týkají jednoho binárního balíčki, tak asi nejjednodušší je přejmenovat a pak přes dh_installdocs a/README.a b/README.b.
    6.9.2015 23:26 Marek
    Rozbalit Rozbalit vše Re: Balíčky pro Debian - 6 (instalace souborů)
    Další řešení je, že oba budou záviset na balíčku xyz-doc, který bude obsahovat to readme a nainstaluješ jen link.
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.