Do systemd bola pridaná možnosť vývoja komponentov v jazyku Rust

Do kódovej základne systémového manažéra systemd sa prijalo zmeny, ktoré pridávajú možnosť vytvárania komponentov v jazyku Rust. Rust sa plánuje používať len na vývoj nových komponentov, a existujúci kód v jazyku C sa nepotrebuje prepisovať do Rustu. Pôvodný správca balíkov cargo sa pri zostavovaní neposkytuje, aktívny zostáva len zostavovací systém Meson. Rust-kód sa používa v režime „no_std“ (bez štandardnej knižnice), povolené sú len knižnice core, alloc a libc.

Komponenty systemd v Rustu sa dynamicky prepojujú s C-knižnicou libsystemd-shared. Rust-vrstvy nad libsystemd-shared sa automaticky generujú počas zostavenia z hlavičkových súborov pomocou nástroja bindgen a stávajú sa dostupnými pre rust-programy vo forme balíka systemd_shared. Na prácu je potrebná minimálne verzia rustc 1.85 a bindgen 0.71.1, zodpovedajúca verziám z Debianu 13.

Testovateľný spustiteľný súbor v Rust pri zostavení s optimalizáciami LTO zaberá 32 KB, zatiaľ čo ekvivalent v C zaberá 20 KB. Predvolene sa podpora Rust aktivuje len v prítomnosti zodpovedajúceho nástroja Rust v systéme (-Drust=auto). Ako prvý komponent, napísaný v Rust, sa vyvíja systemd-keyring-setup, ktorý zatiaľ nebol prijatý do hlavnej kódovej základne systemd. Systemd-keyring-setup je určený na konfiguráciu a správu certifikátov X.509 pre mechanizmy jadra Linux dm-verity, fs-verity a bpf.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster