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 01:33 | IT novinky

    Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.

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

    Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »

    Ladislav Hagara | Komentářů: 3
    včera 18:55 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.4 (𝕏). Přehled novinek a vylepšení v poznámkách k vydání.

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

    Byla objevena zranitelnost Tailworm v Tailscale a Headscale umožňující lokální eskalaci práv přihlášeného uživatele. Následně byla v Tailscale v opravené verzi 1.104.4+ změněna architektura aplikace. Viz příspěvek na blogu Tailscale.

    vencour | Komentářů: 0
    27.10. 18:11 | Nová verze

    Byl vydán Mozilla Firefox 159.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 159 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    27.10. 14:11 | IT novinky

    Nasazení softwaru, který nyní používá ve svých autech pro čínský trh, zvažuje automobilový koncern Volkswagen také v Evropě, kde by se mohl používat v budoucích vozech značek Volkswagen, Škoda a Cupra. Základem pro budoucí evropské modely by se mohla stát takzvaná China Electronic Architecture, elektronická architektura vyvinutá pro čínské modely ve spolupráci s tamní automobilkou Xpeng.

    Ladislav Hagara | Komentářů: 38
    27.10. 13:44 | Komunita

    Vedoucím brněnské pobočky Red Hatu se stal Radek Vokál [LinkedIn].

    Ladislav Hagara | Komentářů: 2
    26.10. 21:29 | Nová verze

    Open source download manager Fatrat povstal z popela. Autor k dvacetiletému výročí projektu přidal do vínku podporu nejnovější knihovny libtorrent, rozhraní portoval na QT6, došlo k nahrazení podpory java rozšíření pythonem. Webové rozhraní bylo přepsáno s podporou mobilních zařízení. Aplikaci je taktéž možno zkompilovat bez podpory GUI. Více informací v releases.

    Max | Komentářů: 31
    26.10. 21:11 | Bezpečnostní upozornění

    Zranitelnost Broccoli2Shell (CVE-2026-111497) v kompresní knihovně Brotli se netýká pouze Node.js. Ohroženy jsou také aplikace využívající HTTP. Knihovnu používají webové prohlížeče, servery i řada dalších aplikací a technologií, například také Python nebo Bun. Identifikace všech zranitelných komponent může být obtížná, protože knihovna bývá součástí dalších softwarových balíčků nebo je přímo začleněna do spustitelných souborů aplikací.

    Ladislav Hagara | Komentářů: 10
    26.10. 18:33 | Komunita

    Quad9, švýcarský celosvětově působící neziskový poskytovatel DNS, od 24. listopadu 2026 ukončí své služby ve Francii kvůli soudnímu sporu s katarskou televizní stanicí beIN. Ta požadovala blokování domén, které podle ní nelegálně zpřístupňují sportovní přenosy. Francouzský soud Katarům vyhověl a nařídil (🇫🇷, PDF) Quad9 blokaci zavést, pod hrozbou pokuty 1000 eur denně. Provozovatel příkaz odmítá s tím, že blokace

    … více »
    Pendrekama do nich❗ | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2937 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Gentoo ebuild - 7 (EAPI 1, QA kontroly, binární balíčky)

    9. 4. 2008 | David Watzke | Návody | 4244×

    Co nového přináší EAPI 1? Jak na QA kontroly? Jak v ebuildu pracovat s RPM/DEB balíčky? Jak rozbalit různé typy archívů? V tomto díle naleznete odpovědi.

    EAPI 1

    Na EAPI může být nahlíženo jako na verzi specifikace, které daný ebuild odpovídá. EAPI 0 je základní verze, od které se budou odvíjet další verze.

    Portage od verze 2.1.3.12 podporuje novou verzi EAPI (1), která rozšiřuje dosavadní možnosti ebuildů o několik užitečných věcí. Novou EAPI aktivujete přidáním EAPI="1" nahoru (hned pod hlavičku) do ebuildu. Předem ale zvažte zpětnou kompatibilitu, což platí především pro balíčky, na kterých závisí spousta jiných.

    Závislost na slotu

    Ebuildy mohou nově záviset na konkrétním slotu balíčku. Zápis do některé z proměnných *DEPEND vypadá takto:

    sys-devel/automake:1.10

    Tento příklad vyjadřuje závislost na balíčku sys-devel/automake se slotem 1.10.

    IUSE může ovlivňovat výchozí nastavení USE

    Nyní můžete ve svých ebuildech ovlivňovat výchozí nastavení USE flagů přidáním plus nebo mínus na jejich začátek. Jako příklad vezměme třeba textový editor nano:

    IUSE="nls build +spell +justify debug slang ncurses +mac"

    Pokud uživatelské nastavení USE (v /etc/make.conf) neobsahuje USE flag 'justify', tak jej Portage automaticky aktivuje.

    Výchozí vypínání USE flagů (např. IUSE="-nocxx") sice nemá moc široké využití, vzhledem k tomu, že ve výchozím nastavení má (hned po USE nastavených jako proměnnou prostředí v běžícím shellu) nejnižší prioritu, nicméně funguje také.

    Použití ECONF_SOURCE ve výchozí definici src_compile()

    Toto malé vylepšení spočívá v tom, že je-li nastavena proměnná ECONF_SOURCE na adresář obsahující skript configure, tak jej econf použije místo hledání v aktuálním adresáři nyní i ve výchozí definici funkce src_compile(), kterou mimochodem není třeba předefinovávat, pokud v ní chcete spustit pouze econf a emake.

    QA kontroly

    Ebuildům je dostupných několik QA (quality assurance) proměnných, které umožňují ovlivňovat některé QA kontroly prováděné Portage. Používat by se měly naprosto minimálně, jinak budou popírat význam QA kontrol. V hlavním stromu se o jejich použití stará QA tým. Jsou primárně určeny k použití v ebuildech, které instalují uzavřené binární objekty, jež nelze měnit.

    Pamatujte, že objekty, které porušují tato pravidla, mohou na některých architekturách selhávat.

    Všechny následující proměnné lze nastavit na cesty k souborům relativně od adresáře image (např. /var/tmp/portage/app-office/openoffice-2.3.1-r1/image) můžou obsahovat regulární výrazy.

    QA_TEXTRELS

    Do této proměnné patří binární soubory, které obsahují text relocations a nelze je měnit. Jde například o closed-source objekty. Binárku s text relocations odhalí příkaz:

    eu-readelf -d objekt.so | fgrep -q TEXTREL

    Je-li návratová hodnota 0, znamená to, že objekt.so obsahuje text relocations.

    QA_EXECSTACK

    Sem patří binární objekty, které k běhu potřebují spustitelný zásobník. Ovšem opravdu jen ty a ne jen nějaké, které jsou tak označené a ve skutečnosti jej nepotřebují.

    QA_WX_LOAD

    Do této proměnné patří soubory, které obsahují zapisovatelné a spustitelné segmenty. Jsou docela vzácné.

    Formáty zdrojových archívů

    Funkce pro rozbalování unpack podporuje různé typy archívů, ale některé z nich vyžadují nástroje, které nejsou mezi systémovými závislostmi, a je tedy nutné na nich záviset v ebuildu (nevíte-li jak, vizte přechozí díl, konkrétně část "Závislosti potřebné k sestavení").

    Formát Závislost
    ZIP/JAR app-arch/unzip
    RAR (*) app-arch/unrar
    LZMA (i tar.lzma)app-arch/lzma-utils
    7-Zip app-arch/p7zip
    LHa (lzh) app-arch/lha

    * RAR je sice podporovaný, ale co se týče hlavního stromu, tam pravděpodobně (možná z licenčních důvodů) na žádný nenarazíte. Na devmanual.gentoo.org se píše, že RAR archívy je nutné lokálně rozbalit a zaarchívovat do tar.bz2, nicméně v nějaké osobní overlayi to vadit nebude.

    Binární balíčky

    Někdy možná narazíte na closed-source software distribuovaný pouze v RPM a/nebo DEB balíčku. Ebuildy proto mají nástroje, které si s nimi poradí.

    RPM

    Nejdříve je třeba načíst si rpm.eclass pomocí inherit rpm. Pokud ve funkci src_unpack() nepotřebujete dělat (kromě rozbalení) nic dalšího (patchovat, mazat, přesouvat), není třeba ji definovat. Pokud ano, definice může vypadat následovně:

    src_unpack() {
    	rpm_src_unpack ${A}
    	cd "${S}"
    
    	# následuje váš kód:
    	epatch "${FILESDIR}/${P}-gcc43-fix.patch"
    }

    Pokud máte v SRC_URI (a tím pádem i v ${A}) i archívy jiného typu než RPM, nemusíte to nijak řešit, rpm_src_unpack na ně zavolá obyčejný unpack.

    Jsou dvě možnosti, jak rozbalit RPM: buď pomocí rpmoffset z balíku rpm2targz a cpio nebo pomocí rpm2cpio z balíku rpm. Obyčejně je pro rozbalování RPM balíku celá aplikace rpm kanón na vrabce, takže rpm2cpio se ve výchozím nastavení použije, pouze pokud je již nainstalován. Pokud chcete vynutit rozbalení pomocí rpmoffset, nastavte USE_RPMOFFSET_ONLY=1. Pokud naopak potřebujete použít rpm2cpio, přidejte balík app-arch/rpm jako závislost do proměnné DEPEND.

    DEB

    K DEB balíkům bývá dostupný zdrojový kód, takže to většinou není třeba řešit. Každopádně formát je to jednoduchý a lze jej spravovat pomocí programu ar z balíku binutils. Jelikož je tento balík systémová závislost, není třeba na něm záviset i v ebuildu. Podporuje jej unpack, takže není třeba (ani vhodné) spouštět přímo ar.

    DEB balíky obsahují 3 soubory: debian-binary, což je textový soubor obsahující verzi formátu DEB; archív control.tar.gz obsahující pár souborů pro instalaci a kontrolu balíku; hlavní archív data.tar.gz, který obsahuje všechny zkompilované soubory a stačí jej jednoduše rozbalit (pomocí unpack), udělat případné změny (přesuny, atp.) a obsah přesunout do ${D}.

           

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

    9.4.2008 08:53 Jan Molič
    Rozbalit Rozbalit vše Re: Gentoo ebuild - 7 (EAPI 1, QA kontroly, binární balíčky)
    Díky za seriál! Vzhledem k tomu, že jsem si prošel různými source-distribucemi, můžu říct, že Portage je velmi silný nástroj, který je schopen zaktualizovat do současného stavu i stroje, na něž nebylo dva roky sáhnuto. V brzsku se nejspíš vrátím i na desktopu ke Gentoo, protože už jsem si dostatečně užil pohodlí *buntu :-)
    Marián Kyral avatar 9.4.2008 13:01 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Výchozí nastavení USE
    K čemu je dobré to výchozí nastavení USE? Jen k tomu, abych více používal package.use?
    David Watzke avatar 9.4.2008 14:04 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Výchozí nastavení USE
    Proč bys měl více používat package.use? USE, na kterých ti záleží, si nastavíš v hlavním konfigu a tohle tě pak ani nemusí moc trápit. Díky tomu vývojáři mohou nastavit rozumné výchozí hodnoty nejen globálně, ale i pro jednotlivé ebuildy.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    Marián Kyral avatar 9.4.2008 14:47 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Výchozí nastavení USE
    Use které chci si nastavím globálně, ale pokud to začnou vývojáři zneužívat, tak se obávám, že toho budu vypínat více, než když je teď vše vypnuté a já jen občas něco povolím.
    David Watzke avatar 9.4.2008 15:12 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Výchozí nastavení USE
    To je teda zvláštní pohled na věc, ale prosím.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    9.4.2008 17:34 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Výchozí nastavení USE
    Možná zvláštní, ale nemá jej sám. Už jsem taky supěl u MPlayeru, co to mají za nápady:

    +a52 -aalib +alsa -arts -color -console -cflags +dvd -fbcon -gif -jpeg -libcaca +mad -md5sum +mmx +mp3 +vorbis -png -pnm -rar -samba +theora -tivo +truetype +X +xscreensaver +xv
    9.4.2008 18:32 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
    Rozbalit Rozbalit vše Re: Výchozí nastavení USE
    Chapu, ze je to naprosto neuveritelne, ale pomerne dost lidi si rado film pusti i s ozvucenim (+alsa), prehrava DVDcka (+dvd), pripadne ten mplayer pousteji pod Xkama.
    9.4.2008 20:08 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Výchozí nastavení USE
    …pomerne dost lidi si rado…
    To je přesně ten problém. Tímto způsobem za chvíli budeme mít zavšivený systém tunami knihoven a rozšířeními, které nikdy nepoužijeme.

    Já např. DVD mechaniku nemám, přes -vo x11 si také video nepřehrávám, mad neptřebuju, když tu samou funkcionalitu mám ve ffmpegu, obrazovku zamykám, když chci já, a DPMS umí vypnout mplayer sám o sobě bez xscreensaver knihovny atd.
    David Watzke avatar 9.4.2008 20:12 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Výchozí nastavení USE
    Výborně, tak si to vypni. To bys úplně stejně mohl nadávat na make.defaults a to je přece hloupost.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    9.4.2008 21:03 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Výchozí nastavení USE
    Mohl bych nadávat a už jsem tak pár krát pro sebe učinil :(

    Hloupost to není. Když mám default-linux/x86, tak jsem se domníval, že systém bude skutečně minimální a já si vlastnoručně zapnu, co budu potřebovat. A ne že budu po vývojářích vypínat, co oni považují za běžnou věc.

    Problém pkgintenrnal flagů je, že jsou často lokální, a ty do /etc/make.conf nepatří. Takže jejich inhibování pěkně leze na nervy. Doufám, že se správci budou krotit, jinak jim svůj package.use omlátím o hlavu ;)
    9.4.2008 19:52 qk_
    Rozbalit Rozbalit vše Re: Výchozí nastavení USE
    no mne se to moc nelibi, ale obrana pomerne jednoducha -* a povolit jen co chci..ale je fakt ze u deprecated je to obcas opruz kdyz neco zavisi na tomhle USE flagu
    Elch avatar 9.4.2008 15:16 Elch | skóre: 6
    Rozbalit Rozbalit vše Re: Gentoo ebuild - 7 (EAPI 1, QA kontroly, binární balíčky)
    Dobré, jako vždy :)
    9.4.2008 18:36 Jan Kundrát (jkt) | skóre: 27 | blog: jkt | Praha - Bohnice
    Rozbalit Rozbalit vše Re: Gentoo ebuild - 7 (EAPI 1, QA kontroly, binární balíčky)
    Výchozí vypínání USE flagů (např. IUSE="-nocxx") sice nemá moc široké využití, vzhledem k tomu, že ve výchozím nastavení má (hned po USE nastavených jako proměnnou prostředí v /etc/env.d/) nejnižší prioritu, nicméně funguje také.
    Tohle je trosku zavadejici -- promenne prostredi se berou z prostredi shellu, ze ktere ho poustis emerge, ne z nejakeho adresare na disku. Je sice pravda, ze .bashrc je nacita z /etc/profile, ktery ve vysledky sourcuje nejaky soubor vznikly z /etc/env.d/*, ale to neznamena, ze by portage pracovalo s /etc/env.d/. Mysleny jsou promenne definovane jako treba `USE="-X" emerge mplayer`.
    Luboš Doležel (Doli) avatar 9.4.2008 18:48 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Gentoo ebuild - 7 (EAPI 1, QA kontroly, binární balíčky)
    Díky, opraveno.

    Založit nové vlákno • Nahoru

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