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 16:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 166 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | Pozvánky

    Blíží se prázdniny a než se rozutečete k moři, je na čase se opět sejít na Virtuální Bastlírně - pravidelném setkání elektroniků, ajťáků, bastlířů a obecně nadšenců do techniky. Co si pro vás strahovští bastlíři připravili tentokrát? Určitě proberou blížící se Linux Days i další události. U softwaru se chvíli zdrží a poví si kupříkladu o tom, jak se zbavit Bambu Cloudu, ale nepřijít o možnost ovládat tiskárnu na dálku. Řeč dojde i na AI,

    … více »
    bkralik | Komentářů: 0
    dnes 03:22 | Nová verze

    Vývojáři postmarketOS vydali verzi 26.06 tohoto operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    dnes 03:11 | Nová verze

    Byla vydána nová verze 2.55.0 distribuovaného systému správy verzí Git. Přispělo 100 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ářů: 1
    včera 20:22 | IT novinky

    Craig Loewen na blogu Microsoftu oznámil veřejnou preview verzi WSL kontejnerů, tj. linuxových kontejnerů ve Windows Subsystem for Linux (WSL). Spouští se příkazem wslc.exe.

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

    Byla vydána (𝕏, Bluesky) nová verze 2026.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 9 nových nástrojů v oficiálním oznámení na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Nová verze

    Grafická aplikace Krokiet/Czkawka pro vyhledávání a odstraňovaní nepotřebných souborů (duplicitní soubory, prázdné složky, podobné obrázky, podobná videa, poškozené soubory a další) byla vydána ve verzi 12.0.0. Podrobný přehled novinek v příspěvku na Medium. Jedná se o poslední verzi frontendu Czkawka GTK nad Czkawka Core. Uživatelům se doporučuje migrovat na frontend Krokiet postavený nad frameworkem Slint. Představena byla aplikace Cedinia pro Android využívající Czkawka Core. Dostupná je jako APK pro ruční instalaci.

    Ladislav Hagara | Komentářů: 5
    včera 04:22 | Nová verze

    Po téměř třech letech od vydání verze 9 byla vydána nová verze 10 linuxové distribuce Mageia (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    28.6. 04:00 | Zajímavý software

    Nourish (GitHub) je nový správce oken pro Linux. Tradiční plochy nahrazuje nekonečným plátnem a posouváním a přibližováním. Využívá vlastní kompozitor pro Wayland s názvem y5. Videoukázka.

    Ladislav Hagara | Komentářů: 6
    27.6. 15:33 | Komunita

    Po 20 letech a 17 otevřených (open source) krátkých filmech Blender Studio oznámilo plán na svůj první celovečerní film. Cílem samozřejmě není jenom nový otevřený film, ale především vývoj a vylepšení otevřených nástrojů pro spolupráci napříč celým procesem a vytvoření otevřené příručky (playbook) pro filmovou produkci ve velkém měřítku s informacemi, které jsou obvykle dostupné pouze uvnitř komerčních studií, a pomoci tak nezávislým tvůrcům překonat technické a organizační bariéry.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (26%)
    Celkem 2016 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Gentoo ebuild - 3 (live ebuildy)

    12. 3. 2007 | David Watzke | Návody | 4721×

    Tento díl je o live ebuildech. To znamená, že se dozvíte, jak v ebuildech pracovat s repozitáři CVS, Subversion, Git, Mercurial a Darcs.

    Název a verze

    Běžně se pro rozeznání live ebuildů od ostatních používá buď verze 9999, nebo se za název programu přidá -cvs, -svn atp. Osobně preferuji verzi 9999, patrně proto, že se takové ebuildy pak lépe vyhledávají a název balíku se zbytečně neliší od původního, protože většinou stejně nemohou být instalovány vedle sebe live verze a běžná vydání.

    Proměnná ${S}

    V některých live ebuildech je nutné nastavit proměnnou ${S}. V případě CVS a Mercurial na ${WORKDIR}/${PN} a u Subversion, Git a Darcs běžně není třeba nic měnit (výchozí ${WORKDIR}/${P} platí). Když kompilace selže kvůli špatně nastavené ${S} (to poznáte podle snahy o cd do neexistujícího adresáře), stačí se jednoduše podívat do ${WORKDIR} na název vytouženého adresáře a proměnnou pak správně nastavit.

    Funkce src_unpack()

    Všechny níže zmíněné eclass tuto funkci automaticky nastaví na provedení <název-eclass>_src_unpack(), což je funkce, která běžně stáhne soubory z repozitáře do ${DISTDIR}/<scm>-src a odtud je pak zkopíruje do ${WORKDIR}, resp. ${S}. Je nutné ji zavolat vždy, ale když potřebujete zdrojáky před kompilací ještě opatchovat nebo spustit autoreconf, je třeba src_unpack() předefinovat, například takto:

    src_unpack() {
    	cvs_src_unpack # nebo {subversion,git,mercurial,darcs}_src_unpack
    	cd "${S}"
    
    	epatch "${FILESDIR}"/${P}-segfault-on-close.patch
    	eautoreconf # bude třeba načíst autotools eclass
    }

    Poznámka: V případě Subversion a Git není třeba tuto funkci předefinovávat kvůli patchování a bootstrapu, protože na to mají zvláštní proměnné, vizte níže.

    CVS

    Pro používání CVS si na začátku načteme cvs.eclass pomocí příkazu inherit cvs. V samotné eclass se píše, že by se nejdříve měly nastavit proměnné, ale za prvé to není nutné a za druhé to tak nedělají ani Gentoo vývojáři. Nyní je třeba nastavit několik proměnných.

    Nezbytné proměnné

    Tyto proměnné je třeba nastavit úplně vždy.

    Proměnná Popis Příklad
    ECVS_SERVER server s cestou cvs.linuxdcpp.berlios.de:/cvsroot/linuxdcpp
    ECVS_MODULE modul ${PN}

    Důležité proměnné

    Proměnné, které není nutné nastavovat ve všech případech.

    Proměnná Popis Výchozí
    ECVS_USER uživatelské jméno anonymous
    ECVS_PASS heslo (prázdné)
    ECVS_AUTH autentizační metoda pserver

    Volitelné proměnné

    Proměnná Popis Výchozí
    ECVS_LOCAL nastavte na cokoliv pro stahování nerekurzivně (nic)
    ECVS_LOCALNAME lokální název adresáře (nic)
    ECVS_TOP_DIR adresář, do kterého se bude stahovat ${DISTDIR}/cvs-src
    ECVS_CVS_COMPRESS nastavení komprese -z1
    ECVS_CVS_OPTIONS přepínače -q -f
    ECVS_CVS_COMMAND příkaz cvs s přepínači cvs ${ECVS_CVS_OPTIONS} ${ECVS_CVS_COMPRESS}
    ECVS_UP_OPTS specifické přepínače pro aktualizaci (-dP neodstraňujte, jinak to nepůjde). -dP
    ECVS_CO_OPTS specifické přepínače pro první stažení (nic)
    ECVS_BRANCH branch (nic, stáhne se aktuální HEAD)

    Subversion

    Načteme si eclass subversion a můžeme se pustit do nastavování proměnných. V současnosti jsou podporované protokoly http, https, svn a svn+ssh. Nezbytná proměnná je pouze ESVN_REPO_URI, do které patří adresa repozitáře. Za zmínku ovšem stojí ještě pár dalších.

    Proměnná Popis Příklad
    ESVN_STORE_DIR adresář, do kterého se bude stahovat ${DISTDIR}/svn-src
    ESVN_PROJECT použije se pro název adresáře v ${ESVN_STORE_DIR} (výchozí je ${PN/-svn}) ${PN%-svn}
    ESVN_BOOTSTRAP příkaz nebo skript pro bootstrap (občas je místo autogen.sh lepší použít eautoreconf) autogen.sh
    ESVN_PATCHES patche, které se aplikují před bootstrapem ${FILESDIR}/*.patch
    ESVN_RESTRICT seznam vlastností oddělených mezerou, které budou zakázány (v současnosti je možné zakázat pouze vlastnost zvanou export, která zabrání exportu proměnné ${S}) export

    Git

    Git používá git.eclass, která vychází ze subversion.eclass, takže proměnné jsou podobné. Podporované jsou protokoly http, https, git, git+ssh, rsync, ssh. Nezbytná proměnná, kam patří adresa repozitáře, se jmenuje EGIT_REPO_URI. Ostatní jsou nepovinné.

    Proměnná Popis Příklad
    EGIT_STORE_DIR adresář, do kterého se bude stahovat ${DISTDIR}/git-src
    EGIT_PROJECT použije se pro název adresáře v ${EGIT_STORE_DIR} (výchozí je ${PN/-svn}) ${PN%-svn}
    EGIT_OPTIONS přepínače, které se použijí pro akce clone a fetch (doporučuji neměnit)
    EGIT_BOOTSTRAP příkaz nebo skript pro bootstrap eautoreconf (bude třeba načíst autotools.eclass)
    EGIT_PATCHES patche, které se aplikují před bootstrapem ${FILESDIR}/*.patch
    EGIT_BRANCH branch master (výchozí)
    EGIT_TREE strom ${EGIT_BRANCH} (výchozí)

    Mercurial

    Opět načteme základní eclass - mercurial a definujeme jedinou nezbytnou proměnnou EHG_REPO_URI, kam patří adresa repozitáře. Je tu ještě několik volitelných proměnných, které není třeba měnit (až na zvláštní případy).

    Proměnná Popis Výchozí
    EHG_STORE_DIR adresář, do kterého se bude stahovat ${DISTDIR}/hg-src
    EHG_PROJECT název adresáře v ${EHG_STORE_DIR} ${PN}
    EHG_CLONE_CMD příkaz pro akci clone hg clone
    EHG_PULL_CMD příkaz pro akci pull hg pull -u

    Darcs

    Jako vždy načteme eclass, která se tentokrát jmenuje darcs. Většinou stačí nastavit proměnnou EDARCS_REPOSITORY (adresa repozitáře), ostatní jsou volitelné.

    Proměnná Popis Výchozí
    EDARCS_TOP_DIR adresář, do kterého se bude stahovat ${DISTDIR}/darcs-src
    EDARCS_LOCALREPO název adresáře v ${EDARCS_TOP_DIR} ${PN}
    EDARCS_DARCS_CMD příkaz darcs darcs
    EDARCS_GET_CMD příkaz pro stažení (get) s přepínači get --partial
    EDARCS_UPDATE_CMD příkaz pro aktualizaci (pull) s přepínači pull
    EDARCS_OPTIONS přepínače pro stažení i aktualizaci --set-scripts-executable
    EDARCS_CLEAN nastavte na cokoliv, pokud chcete, aby se lokální kopie repozitáře místo aktualizace vždy smazala a stáhla znova (nic)

    Příště

    Další díl bude o hláškách, kódu podmíněném USE flagy a o ošetřování chyb.

           

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

    atan avatar 12.3.2007 15:36 atan | skóre: 21 | Liberec
    Rozbalit Rozbalit vše Re: Gentoo ebuild - 3 (live ebuildy)
    Tak narusim to trapny ticho. Diky za dobry clanek. Ja osobne zatim zadne ebuildy delat nepotrebuji, ale je dobry vedet jak to cele funguje.
    vencour avatar 12.3.2007 18:19 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
    Rozbalit Rozbalit vše Re: Gentoo ebuild - 3 (live ebuildy)

    Napodobne, ja zas nekdy asi casem rad neco ukutim a proto budu vdecny za jakekoliv ukazani cesty.

    Priklad - zkousel jsem emergnout hru xgalaga, na necem zkejsla, stejne jako kdyz jsem ji driv zkousel zkompilovat = to by moh bejt jeden adept.

    Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
    12.3.2007 21:57 Martyx | skóre: 2
    Rozbalit Rozbalit vše Re: Gentoo ebuild - 3 (live ebuildy)
    +1
    12.3.2007 18:36 qk | skóre: 15 | blog: qk_develop
    Rozbalit Rozbalit vše Re: Gentoo ebuild - 3 (live ebuildy)
    No to -cvs je ted preferovana cesta a je to jen mezistupen k pridani _cvs suffixu k verzi (a tim bude take mozne mit vice cvs verzi napriklad kdyz nekdo chce jen nejnovejsi opravy v stabilni vetvi v cvs, tak by bylo napr balik-2.4_cvs.

    Založit nové vláknoNahoru

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