Komunita kolem Linuxu From Scratch (LFS) vydala nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů Linux From Scratch 13.0 a Beyond Linux From Scratch 13.0. Pouze se systemd.
Byla vydána nová stabilní major verze 25.12 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Jedná se o nástupce předchozí major verze 24.10. Přehled novinek v poznámkách k vydání. Podporováno je více než 2200 zařízení.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za únor (YouTube). Odstraněn byl veškerý kód napsaný ve Swiftu. JavaScriptový engine LibJS byl reimplementován v Rustu.
Byla vydána verze 1.94.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example. Zveřejněny byly výsledky průzkumu mezi vývojáři v programovacím jazyce Rust: 2025 State of Rust Survey Results.
Google zveřejnil seznam 185 organizací přijatých do letošního Google Summer of Code (GSoC). Dle plánu se zájemci přihlašují od 16. do 31. března. Vydělat si mohou od 750 do 6600 dolarů. V Česku a na Slovensku je to 900 dolarů za malý, 1800 dolarů za střední a 3600 dolarů za velký projekt. Další informace v často kladených otázkách (FAQ). K dispozici jsou také statistiky z minulých let.
Byla vydána únorová aktualizace aneb nová verze 1.110 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.110 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Apple představil 13palcový MacBook Neo s čipem A18 Pro. V základní konfiguraci za 16 990 Kč.
Kalifornský zákon AB 1043 platný od 1. ledna 2027 vyžaduje, aby operační systémy požadovaly po uživatelích věk nebo datum narození a skrze API poskytovaly aplikacím informaci, zda je uživatel mladší 13 let, má 13 až 16 let, má 16 až 18 let nebo má alespoň 18 let. Vývojáři linuxových distribucí řeší, co s tím (Ubuntu, Fedora, …).
Konference LinuxDays 2026 proběhne o víkendu 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Čekají vás desítky přednášek, workshopy, stánky a setkání se spoustou chytrých lidí.
Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 145. Aktuální verze Firefoxu je 148. Od září přejde Chrome na dvoutýdenní cyklus vydávání. V kterém týdnu bude mít Chrome větší číslo verze než Firefox? 😀
Stav vydání jádra. Radosti s max(). Citáty týdne: Dave Chinner a Linus Torvalds. Statistiky vývojového cyklu 4.16 a -stable.
Kernel release status. Jonathan Corbet. 28. března 2018
Současné vývojové jádro je 4.16-rc7, vydané 25. března. Může jít o posledního kandidáta na vydání v cyklu 4.16: „Zatím stále v tomto cyklu *neplánuji* rc8, protože ačkoliv je rc7 větší než obvykle, nad ničím jsem se nepozastavil se slovy ‚hmm, možná bychom tohle vydání měli pozdržet.‘ Ale uvidíme, co se bude dít v nadcházejícím týdnu – jestli přijde příští neděle a bude toho nového dost, ještě to zvážím.“
Seznam regresí pro 4.16-rc7 čítá sedm známých problémů.
Stabilní aktualizace: 4.9.89, 4.4.123 a 3.18.101 byly vydány 22. března, následovaly je 25. března 4.15.13, 4.14.30, 4.9.90, 4.4.124 a 3.18.102. Aktualizace 4.15.14, 4.14.31, 4.9.91 a 4.4.125 byly během psaní tohoto článku revidovány a vyšly 29. března.
The joy of max(). Jonathan Corbet. 28. března 2018
Na LWN nedávno vyšel článek zabývající se jaderným makrem max() a úsilím věnovaným tomu, aby se zajistilo, že se toto makro vyhodnotí na „konstantní výraz“ z pohledu překladače. Po řadě iterací se zdá, že problém byl vyřešen. Pro potěchu laskavému čtenáři předkládáme novou podobu max(), vytaženou z patche zaslaného Keesem Cookem:
#define __typecheck(x, y) \
(!!(sizeof((typeof(x)*)1 == (typeof(y)*)1)))
#define __is_constant(x) \
(sizeof(int) == sizeof(*(1 ? ((void*)((long)(x) * 0l)) : (int*)1)))
#define __no_side_effects(x, y) \
(__is_constant(x) && __is_constant(y))
#define __safe_cmp(x, y) \
(__typecheck(x, y) && __no_side_effects(x, y))
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
#define __cmp_once(x, y, op) ({ \
typeof(x) __x = (x); \
typeof(y) __y = (y); \
__cmp(__x, __y, op); })
#define __careful_cmp(x, y, op) \
__builtin_choose_expr(__safe_cmp(x, y), \
__cmp(x, y, op), __cmp_once(x, y, op))
#define max(x, y) __careful_cmp(x, y, >)
Tyto definice by samozřejmě pozorném pravidelnému čtenáři měly být zřejmé. Pokud ale někdo potřebuje nápovědu, zpráva provázející patch obsahuje několik vysvětlujících komentářů.
Quotes of the week. Jonathan Corbet. 28. března 2018
Souborové systémy nejsou jako ovladače nebo správa paměti – poškození souborového systému nebo chybu vedoucí ke ztrátě dat nemůžete opravit restartem systému. Uživatele jejich data a obrázky kočiček zajímají o poznání více než to, jak často musejí restartovat OS na pofidérním hardwaru, který si koupili na eBay, aby začal fungovat.
Hlásek v mojí hlavě říká: „To si žádá komentář.“
Ale silnější hlas nesouhlasí.
Je to umění a možná je nejlepší dokumentací jenom ten název. Dělá to to, co to říká, že dělá.
Umění by se nemělo vysvětlovat. Mělo by se ocenit.
Some 4.16 and -stable development statistics. Jonathan Corbet. 26. března 2018
Vývojový cyklus 4.16 se rozvinul jako poměrně přímočará záležitost s minimem překážek v podobě známých problémů a dospěl k vydání po devíti týdnech práce. Ve srovnání s cyklem 4.15 vypadá vskutku klidně. I tak se toho ale mnoho událo. Čtěte dále, kdo do tohoto vydání přispěl – s krátkou odbočkou k aktualizacím stabilních jader.
V době psaní tohoto článku do vývojového cyklu 4.16 přispělo 1 774 vývojářů 13 439 neslučovacími sadami změn. Ty jádro zvětšily celkem o zhruba 195 tisíc řádek. V kontextu nedávné minulosti je 4.16 poměrně klidný cyklus, rozhodně klidnější než 4.15 s 14 866 sadami změn. Přesto jde o docela dost práce, kterou bylo potřeba během devíti týdnů zařadit.
Nejaktivnější vývojáři cyklu 4.16 byli:
| Nejaktivnější vývojáři cyklu 4.16 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Arnd Bergmann přidával vylepšení napříč stromem: opravy problému roku 2038, varování překladače a další. Chris Wilson dal dohromady řadu změn grafického ovladače Intel i915, Colin Ian King přispěl mnoha úklidovými patchi, Mauro Carvalho Chehab pracoval především v multimediálním subsystému (jehož je správcem) a Jakub Kicinski provedl rozsáhlé práce v subsystémech sítí a BPF.
Ve sloupci „podle změněných řádek“ dominoval Feifei Xu, který pročistil některé hlavičkové soubory grafického ovladače AMD, přičemž odstranil 58 tisíc řádek kódu. Andi Kleen aktualizoval data událostí perf několika procesorů Intel, Tomer Tayer učinil řadu změn v ovladačích QLogic Ethernet a SCSI a Felix Fietkau pracoval hlavně na novém síťovém ovladači mt76.
Práce na vydání 4.16 podporovalo 230 zaměstnavatelů, které se podařilo identifikovat, což je poslední dobou celkem běžný počet. Tentokrát byly nejaktivnější firmy:
| Nejaktivnější zaměstnavatelé cyklu 4.16 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Jako obvykle je tu překvapení pomálu. Ačkoliv práci na jádře Linux podporuje mnoho firem, seznam firem, které přispívají nejvíc, se mezi cykly v podstatě nemění.
Jak si můžeme všimnout výše, cyklus 4.16 byl vůbec skoupý na překvapení. Můžeme to chápat jako návrat k normálu po divočejším cyklu 4.15, který potkala odpověď na zranitelnosti Meltdown a Spectre. V této fázi už je většina práce věnované těmto problémům hotova, takže jaderná komunita se vrátila k úsilí vedoucímu k běžným vydáním.
V poslední době došlo na mnoho poměrně velkých aktualizací stabilních jader. Jeví se, že vzrostlo tempo, s jakým se opravy dostávají do stabilních stromů. Zajímalo nás, jestli je toto zdání správné, či nikoliv – výsledky louskání čísel z repozitáře stabilních jader na kernel.org, kde se nachází historie většiny stabilních vydání jádra, vypadají následovně:
Stabilní aktualizace jader od vydání 3.0
V těchto grafech vyniká několik věcí. V době jader 3.x se hned několika vydáním dostalo prodloužené údržby, často od různých distributorů, kteří jako jediní dodávali právě příslušná jádra. Za posledních pár let se tento vzorec ustálil na jednom vydání jádra ročně. Zdá se, že politika určování jader s dlouhodobou podporou předem a nabádání distributorů, aby vycházeli právě z těchto jader, se vyplácí.
Vypadá to, že počet sad změn přidaných do stabilních jader časem narostl. Jádro 4.15 už dostalo téměř 1 100 sad změn, a to zatím uplynulo jen pár měsíců. Jádro 4.14, které má dlouhodobou podporu, od svého vydání 12. listopadu dostalo bezmála 2 900 oprav. Některá čísla příslušející starším vydáním jsou také působivá: jádro 4.9 dostalo 6 600 oprav, zatímco jádro 3.2 jich dostalo skoro 8 800. To je hodně změn, které míří do „stabilních“ jader.
Jednou ze zajímavých příčin všech těch oprav je intenzivnější snaha určit opravy, které by se do stabilních stromů dostat měly, i když je tak nezamýšleli ani vývojáři, kteří je vyprodukovali, ani správci, kteří je začlenili. Zahrnuje to zčásti automatický nástroj, který Greg Kroah-Hartman popsal takto:
Vážně, je to skoro magie. Sasha [Levin] používá takový nástroj, který pomocí „strojového učení“ porovnává patche, které jsme ve stabilních jádrech nepoužili, s těmi, které jsme tam aplikovali, a zkouší najít ty, které jsme pro stabilní strom zapomněli označit. Ne všechny subsystémy stabilní patche označují, takže tohle je pokus pochytat opravy, které by backportovány být měly, ale nejsou, protože je tak vývojář/správce zapomněl označit, nebo protože takové patche neoznačuje vůbec nikdy.
Pokud by někoho zajímalo, proč se musí prohrabávat ohromným množstvím zpráv „AUTOSEL“ v konferenci linux-kernel, tohle je ten důvod. Takový provoz v e-mailové konferenci může otravovat těch několik z nás, kdo stále ještě sledujeme linux-kernel, ale najde se tak řada oprav, které se pak dostanou do jader až tak starých jako 3.2 a jsou tím pádem dostupné uživatelům. Nicméně se sluší dodat, že někteří vývojáři nemají zrovna dobrý pocit z toho, kolik těch backportů je.
Stabilní řadě 4.4 se do doby psaní tohoto článku dostalo 124 vydání. Odkud se vzalo příslušných 7 575 oprav, si můžete prohlédnout v tomto přehledu:
| Původci patchů ve 4.4-stable | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ze všeho toho ruchu ve stabilních stromech je zřejmé, že vývoj vydání nekončí ve chvíli, kdy ho Linus Torvalds prohlásí za hotové a začne se věnovat dalšímu. Když se vydání jádra dostane k uživatelům, nejspíš už v sobě má tisíce dodatečných oprav. Zdá se, že snaha komunity, aby dodavatelé využívali stabilní jádra s dlouhodobou podporou, se vyplácí, takže se více oprav skutečně dostane k uživatelům, kteří je potřebují, a to je jedině dobře.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: