Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.
Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.
Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.
Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.
David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …
Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.
Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.
V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.
Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.
Tento článek nebude o školnících ani instalatérech. Místo toho přinese pár kapitol z příběhu o životě (nejen) binárního balíčku v linuxové distribuci.
V diskusi pod mým posledním článkem se objevil názor, že o opravy chyb v balíčcích by se spíš než distributoři měli starat autoři. To je pěkná představa, která ale z mnoha důvodů narazí na tvrdé hrany reality: předně, neexistuje žádná páka, jak autora donutit, aby problém spravil (ve skutečnosti dá občas pořádnou fušku ho donutit, aby vydal novou verzi i s opravou, kterou jsme mu zaslali). Potom, i ochotné autory open source programů jejich balíček obvykle neživí a než si na něj mohou udělat čas, nejspíš najdete ještě dalších deset chyb. Navíc uživatele jednotlivých distribucí možná přesvědčíme, aby hlásili chyby v distribuční bugzille, ale určitě je nedonutíme, aby se ještě sháněli po autorovi. A konečně, některé problémy balíčku, které se projevují v konkrétní distribuci, autor stejně vyřešit nemůže.
Každý distributor si tak musí zajistit tým lidí, kteří se kromě jiného zabývají také péčí o jednotlivé balíčky obsažené v distribuci. Komunitní distra to mají celkem jednoduché, obvykle sdružují velké množstvín dobrovolníků starajících se jen o pár balíčků, které je zajímají. Komerční distributoři potom musí rozdělit své balíčky mezi své zaměstnance: u některých panuje anarchie a o balíky se stará ten, kdo má zrovna čas, u dalších jsou všechny rozděleny mezi jednotlivé vývojáře, kteří pak řeší veškeré problémy s nimi spjaté.
Naše distribuce je ztělesněním druhého jmenovaného modelu. Kromě toho, že většina vývojářů si mimo běžné náplně práce balí pár svých oblíbených balíčků, existují také balíkáři - specialisti. Balíky, které mají v péči, se počítají na stovky a jejich udržování věnují celou svou pracovní dobu. Jak jejich práce vypadá?
Jak říkávám, práce balíkáře znamená opravovat chyby v programech, které neznáme, a které jsou napsané v jazycích, které neumíme. K většině programů přijde balíkář jak slepý k houslím a jejich kód poprvé spatří až ve chvíli, kdy řeší nějaký problém. Občas tak dochází k nemilým překvapením: už jsem tady vyprávěla, jak jsem se učila Fortran a v nejbližší době se zřejmě dočkáte pokračování, tentokrát se bude týkat Scheme. Smůla je, že k normálnímu programování se balíkář dostane obvykle jen ve volném čase: obyčejně pár hodin kouká do kódu, a potom odevzdá patch čítající pět řádků.
Většinu času balíkář stráví v relativním klidu a pohodě (řeší jen problémy s přechodem na nové verze gcc, glibc, portováním na různé absurdní architektury a uživateli domáhajícími se nesmyslných featur), ta se ale rychle rozplyne přibližně týden před tím, než je vyhlášen freeze na nové verze balíků v nadcházející verzi distribuce. Tehdy je totiž třeba co nejrychleji aktualizovat všechny balíčky: pouštět se do toho dřív nemá valného smyslu, protože potom stejně ještě vyjdou nové verze. Dělat si strejčka se vyplatí jen u knihoven. Někdy má člověk štěstí a všechno jde jako po másle, jindy dře jako otrok na plantáži.
Výsledkem této akce je distribuce ve stavu připomínajícím dort pejska a kočičky: nastává chvíle, kdy programy padají jak zralé ovoce a je na vývojářích, aby chyby našli a opravili. Než se nadějí, uplyne čas do první bety a k chybám nalezeným vlastnoručně přibudou hromady hlášení od uživatelů. V těchto okamžicích naprosto nemá smysl spoléhat na opravy od autorů jednotlivých programů: nebylo by to dost rychle a navíc ukázat jim, jak chybu zreprodukovat, by mnohdy dalo víc práce, než ji spravit. Nepříjemnosti, které toto období přináší, jsou způsobeny jen a pouze tím, že nové verze programů obvykle přicházejí na svět nedostatečně odladěné.
V praxi tedy ráno člověk přijde k počítači, vypije si první kafe a přitom si prohlédne seznam nových bugreportů, které přibyly přes noc (uživatelé pilně testují ve všech časových zónách). Pak je probírá jeden po druhém, a když má štěstí, opraví jich tolik, že se seznam přes den neprodlouží. V noci u posledního kafe potom rozešle své patche autorům jednotlivých programů. Text mailu mnohdy najde jako komentář ke svému kódu v dalším vydání programu: občas i přesto, že jde o slova jako "tento pointer je občas NULL, nevím proč." Tolik tedy k ochotě upstream autorů zabývat se chybami ve svém kódu.
Nakonec se začne frekvence hlášení snižovat. Když se z bety stává RC, je seznam bugreportů téměř prázdný a přichází čas věnovat se běžným denním radostem: proklínání programátorů, co nikdy neslyšeli slovo bigendian, nadávání na vývojáře gcc proměňující warningy v chyby a pročítání požadavků na nové featury s úsměvem, který rychle tuhne na rtech ve chvíli, kdy se za ně postaví management. Patche už nepadají z klávesnic jako mince z kouzelného beránka, kódu použitelného pro původní autory software ale vzniká i tak dost. Za to, že se autoři nemusejí hrabat v chybách, a místo toho se věnují novým vlastnostem, tedy uživatelé vděčí svým distributorům a asi by bylo nemoudré to chtít jinak.
Tiskni Sdílej: