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í
×
    dnes 04:22 | Pozvánky

    Letos se uskuteční již 11. ročník soutěže v programování Kasiopea. Tato soutěž, (primárně) pro středoškoláky, nabízí skvělou příležitost procvičit logické myšlení a dozvědět se něco nového ze světa algoritmů – a to nejen pro zkušené programátory, ale i pro úplné začátečníky. Domácí kolo proběhne online od 22. 11. do 7. 12. 2025 a skládá se z 9 zajímavých úloh různé obtížnosti. Na výběru programovacího jazyka přitom nezáleží – úlohy jsou

    … více »
    SoutezKasiopea | Komentářů: 0
    dnes 04:11 | Nová verze

    Byla vydána nová verze 2.52.0 distribuovaného systému správy verzí Git. Přispělo 94 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:00 | Nová verze

    VKD3D-Proton byl vydán ve verzi 3.0. Jedná se fork knihovny vkd3d z projektu Wine pro Proton. Knihovna slouží pro překlad volání Direct3D 12 na Vulkan. V přehledu novinek je vypíchnuta podpora AMD FSR 4 (AMD FidelityFX Super Resolution 4).

    Ladislav Hagara | Komentářů: 0
    včera 03:11 | Nová verze

    Poštovní klient Thunderbird byl vydán v nové verzi 145.0. Podporuje DNS přes HTTPS nebo Microsoft Exchange skrze Exchange Web Services. Ukončena byla podpora 32bitového Thunderbirdu pro Linux.

    Ladislav Hagara | Komentářů: 1
    včera 02:33 | IT novinky

    U příležitosti státního svátku 17. listopadu probíhá na Steamu i GOG.com již šestý ročník Czech & Slovak Games Week aneb týdenní oslava a také slevová akce českých a slovenských počítačových her.

    Ladislav Hagara | Komentářů: 0
    16.11. 19:33 | Nová verze

    Byla vydána nová verze 9.19 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze například nový balíček BirdNET-Go, tj. AI řešení pro nepřetržité monitorování a identifikaci ptáků.

    Ladislav Hagara | Komentářů: 0
    16.11. 02:22 | Nová verze

    Byla vydána nová verze 3.38 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.10 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    16.11. 01:33 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 28 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    15.11. 16:11 | Nová verze

    Byl vydán Debian 13.2, tj. druhá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    15.11. 12:11 | IT novinky

    Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.

    Ladislav Hagara | Komentářů: 5
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (23%)
     (15%)
     (23%)
     (16%)
     (16%)
    Celkem 361 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    Rozcestník

    Gentoo Linux - Portage Overlay

    16. 1. 2008 | David Watzke | Návody | 5537×

    Overlay se říká neoficiálnímu stromu s ebuildy pro balíčkovací systémy v Gentoo. V tomto článku se dozvíte, jak si vytvořit a spravovat vlastní Portage Overlay.

    Poznámka: Pokud nerozumíte některým věcem souvisejícím s ebuildy, přečtěte si obsah seriálu o ebuildech.

    K čemu to je

    Běžně se doporučuje neinstalovat software mimo balíčkovací systém. To samozřejmě platí i na Gentoo. Když narazíte na software, který si chcete nainstalovat a není pro něj ebuild v oficiálním stromu, jednou z možností je napsat si ebuild vlastní (vizte seriál Gentoo ebuild). Tyto ebuildy ovšem nemůžete dát do hlavního stromu, protože by byly během další synchronizace vymazány. Proto existují overlaye.

    Jak začít

    Pro začátek si pro overlay vytvořte nějaký adresář, řekněme třeba /usr/local/portage (dále jen overlay).

    mkdir -p /usr/local/portage

    Poté editujte konfigurační soubor /etc/make.conf. Do proměnné PORTDIR_OVERLAY je třeba zadat zvolený adresář. V případě, že máte více overlayí, oddělujte cesty mezerou – v cestě tedy nesmí být žádné mezery.

    PORTDIR_OVERLAY="/usr/local/portage"

    Nyní si v overlayi vytvořte adresář profiles a do něj přidejte soubor repo_name, který bude obsahovat název vaší nové overlaye. Název smí obsahovat pouze malá a velká písmena bez háčků a čárek, číslice, pomlčky a podtržítka.

    cd /usr/local/portage
    mkdir profiles
    echo overlay-watzke-cz > profiles/repo_name

    Struktura a kategorie

    Struktura overlaye je stejná jako u hlavního stromu, s tím rozdílem, že v overlayi musí být jen opravdu nezbytné soubory a adresáře (správně umístěné ebuildy):

    overlay
    |-- kategorie
        `-- program
            |-- Manifest
            |-- files
            |   `-- program-1.2-link.patch
            `-- program-1.2-r5.ebuild

    Kategorii pro program, který chcete přidat, si vyberte z profiles/categories v hlavním stromu Portage (tj. obyčejně /usr/portage/) nebo si můžete vymyslet vlastní a dopsat ji do /etc/portage/categories, ale tomu bych se spíše vyhýbal (dost zbytečná komplikace).

    Eclass

    Můžete si napsat vlastní eclass, což je shellový skript, který nastavuje pomocné proměnné a obsahuje často používané funkce pro danou činnost. Eclass patří do adresáře eclass relativně k overlayi. Lze je poté načíst v ebuildu pomocí funkce inherit (tj. něco jako shellový source, vizte článek Gentoo ebuild - 2 (funkce, eclass a příkazy)).

    Eclass v overlayi je ovšem třeba používat opatrně, protože Portage nejenže neaktualizuje cache, když se ebuild změní, ale neaktualizuje ji ani když se změní eclass z hlavního stromu, kterou vaše eclass načítá. Při práci s eclass v overlayi můžete také narazit na upozornění "illegal inherit", přestože jste neudělali chybu (a nenačítali eclass podmíněně). Pro jistotu můžete po úpravě eclass ručně spustit touch na všechny relevantní soubory overlaye.

    Patche

    Pokud chcete v ebuildu patchovat, tak vězte, že patche patří do adresáře kategorie/program/files. V ebuildu pak načtete eclass eutils a patch aplikujete např. takto:

    epatch "${FILESDIR}/${P}-link.patch"

    Pokud provozujete veřejnou overlay a máte nějaký větší patch (v hlavním stromu je limit 20 kB) nebo rovnou sadu patchů, může být vhodné je zkomprimovat a uložit na vlastní mirror. Zkomprimované patche do overlaye nepatří.

    Maskování balíčků

    Různé alpha, beta nebo rozbité verze je vhodné maskovat přidáním do souboru profiles/package.mask (relativně k overlayi). Nezapomeňte tam specifikovat verzi, protože pokud je stejnojmenný balík i v hlavním stromu, zamaskovali byste jej také. Do souboru tedy přidáte například:

    ~kategorie/program-1.0_alpha2

    Totéž je třeba přidat do /etc/portage/package.unmask pro lokální odmaskování.

    Live ebuildům je dobré nedávat žádný keyword (a nechat proměnnou prázdnou), protože nelze zaručit, že se poslední revize vůbec zkompiluje, natož pak že bez problémů poběží na určitých architekturách. Pro lokální odmaskování takového ebuildu je třeba přidat do /etc/portage/package.keywords něco jako:

    ~kategorie/program-9999 **

    Dříve se takovým ebuildům dával keyword -* a odmaskovávaly se pomocí:

    ~kategorie/program-9999 -*

    ale to už je minulost, takže to nepoužívejte.

    Stabilním (od upstreamu) ale neotestovaným verzím je dobré dát ~arch keywordy (pouze architektury, na kterých víte, že se software nainstaluje a funguje). V overlayi bych si s označováním ebuildů za stabilní ani moc nelámal hlavu,

    Poznámka: operátor tilda (~) na začátku znamená, že pravidlo zahrnuje i revize, takže platí i pro verzi 9999-r1, atd.

    Záznamy změn

    Pokud chcete, můžete si u balíčků vést záznam o tom, jak a kdy se ebuildy měnily nebo kdy se objevily nové verze. Formát těchto záznamů si prohlédněte v hlavním stromu Portage - jde o soubory s názvem ChangeLog (v adresáři s ebuildy). Vývojáři používají nástroj echangelog, který podporuje repozitáře GIT, CVS a SVN. Nejprve změníte, přidáte a odeberete soubory pomocí utilit pro ovládání vašeho repozitáře, poté spustíte:

    echangelog "zpráva do changelogu"

    a pak změny odešlete na server.

    Na co si dát pozor

    Je tu hned několik věcí, na které je třeba dát si pozor. Většina z nich platí, především když provozujete veřejnou overlay, kterou používá více lidí.

    Nejdůležitější je dávat pozor, abyste za žádných okolností nehlásili chyby, které produkují vaše nebo jiné ebuildy, které nejsou z hlavního stromu. V případě, že si nejste opravdu jisti, že jde o problém Portage, nic nehlaste, protože vývojáři pak nebývají moc nadšení.

    Pokud máte v overlayi ebuild se stejnou kategorií, názvem i verzí, pak vězte, že má prioritu před tím z hlavního stromu. Je to dobrý způsob, jak si například dočasně opravit ebuild, který je v hlavním stromu poškozený nebo obsahuje chyby, než jej vývojáři opraví. Ovšem pak je třeba dávat pozor, aby vás to nezmátlo a vy jste nenahlásili chybu ebuildu mimo hlavní strom, jak je popsáno o odstavec výše.

    Dávejte si pozor na kolizi názvů eclass. Když si do overlaye přidáte eclass se stejným názvem, jako je v hlavním stromu, starší verze Portage nic nenamítnou a použijí eclass z overlaye i pro balíčky z hlavního stromu, což může způsobit neplechu. Novější verze Portage si to hlídají a docela důrazně vás v takovém případě upozorní. Pokud opravdu víte, co děláte, varování lze zrušit přidáním PORTAGE_ECLASS_WARNING_ENABLE="0" do /etc/make.conf.

    Pokud ebuild pouze neupravujete a soubory, které stahuje, tedy nejsou na Gentoo mirrorech, je dobré přidat RESTRICT="mirror", aby tam nebyly zbytečně hledány.

           

    Hodnocení: 96 %

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

    16.1.2008 05:30 Mig
    Rozbalit Rozbalit vše Re: Gentoo Linux - Portage Overlay
    Dobré vědět. Díky za článek.
    16.1.2008 08:30 pet
    Rozbalit Rozbalit vše vlastní kategorie
    Vlastní kategorie můžete také zapsat do overlay/profiles/categories stejným způsobem jako v hlavním stromu.
    David Watzke avatar 16.1.2008 14:44 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: vlastní kategorie
    Tím jsem si nebyl jistý, jelikož např. maskovat USE skrz profiles v overlayi nejde a nikdy jsem neměl potřebu vymýšlet si kategorii :-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    16.1.2008 15:57 pet
    Rozbalit Rozbalit vše Re: vlastní kategorie
    Používáme Gentoo jako nosný systém pro naše systémy a naše balíčky máme v našich kategoriích a jejich maskování v overlay/profiles/package.mask (a naši licenci v overlay/licences/).

    Jen se mi ještě nepodařilo, aby si portage při stahování naše zdrojové balíky ukládala do overlay/disfiles/ ;-) (pro méně se orientující - tohle byl vtípek)
    David Watzke avatar 16.1.2008 17:12 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: vlastní kategorie
    Používáme Gentoo jako nosný systém pro naše systémy a naše balíčky máme v našich kategoriích a jejich maskování v overlay/profiles/package.mask (a naši licenci v overlay/licences/).
    Jasně, ale já mluvil o use.mask.
    Jen se mi ještě nepodařilo, aby si portage při stahování naše zdrojové balíky ukládala do overlay/disfiles/ ;-) (pro méně se orientující - tohle byl vtípek)
    V Paludisu se dá pro každé repo nastavit jiný distfiles adresář, v Portage ne.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    17.1.2008 08:39 pet
    Rozbalit Rozbalit vše Re: vlastní kategorie

    Jasně, ale já mluvil o use.mask.

    Jasně, já zase mluvil o dalších souborech / adresářích, které v overlay používáme. Třeba se to někomu bude hodit.

    Taky máme v /etc/make.conf (vím, tohle už přímo s overlay nesouvisí):

    USE_EXPAND="MOJE"
    MOJE="devel vlastnost"
    Umožňuje to mít vlastní USE přepínače pěkně přehledně. V tomto příkladě jsou nastaveny "moje_devel" a "moje_vlastnost". A stejně jako ve Vašem případě s use.mask, ani mne se nepovedlo zařídit nastavení USE_EXPAND="MOJE" nekde v overlay.

    18.1.2008 00:05 zimous
    Rozbalit Rozbalit vše Re: vlastní kategorie
    paludis zvlastni distfiles (krome spousty jinejch veci) umi ;)))
    18.1.2008 00:09 zimous
    Rozbalit Rozbalit vše Re: vlastní kategorie
    ... este umet cist predchozi prispevky, no aspon sem pridal link
    16.1.2008 10:12 mseed | skóre: 21 | blog: FastLinux
    Rozbalit Rozbalit vše Re: Gentoo Linux - Portage Overlay
    Pekna aplikace na usnadneni spravy overlay je layman. http://gentoo-wiki.com/TIP_Overlays

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.