Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).
Po dvou měsících vývoje byla vydána nová verze 0.13.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 73 vývojářů. Přehled novinek v poznámkách k vydání.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
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.
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é.
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
.
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.
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.
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í.
Do této proměnné patří soubory, které obsahují zapisovatelné a spustitelné segmenty. Jsou docela vzácné.
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.
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í.
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
.
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}
.
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
…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.
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`.