
Systemd-ში Rust-ის მხარდაჭერა დაემატა
Systemd 263-ის შემუშავებისას Rust-ის მხარდაჭერა დაემატა ახალი, დამოუკიდებელი კომპონენტებისთვის; მათი კოდი Meson-ით იგება სტანდარტული ბიბლიოთეკის გარეშე, ხოლო არსებული C კოდი უცვლელი რჩება.
Systemd 263-ში Rust-ის მხარდაჭერა დაემატა მას შემდეგ, რაც დეველოპერმა Christian Brauner-მა Mastodon-ზე განაცხადა, რომ მისი ახალი ფუნქცია შერწყმულია. ეს ცვლილება საშუალებას იძლევა, Rust-ში დაიწეროს ახალი, დამოუკიდებელი კომპონენტები, ხოლო არსებული C კოდი უცვლელი რჩება და Rust-ში არ იწერება ის ნაწილები, რომლებზეც სხვა კომპონენტები არიან დამოკიდებულნი.
რა შეიცვალა
წინა მცდელობა ახლა ხუთ ცალკე ნაწილად არის დაყოფილი. პირველი ნაწილი keyring-util-ს და voa-util-ს შეიცავს, რომლებიც ბირთვის keyring-ებში სერტიფიკატების ჩაწერის დამხმარე ინსტრუმენტებად არის აღწერილი. მეორე ნაწილი Rust-ში დაწერილ დამხმარე პროგრამებს ამატებს. დარჩენილი ნაწილები მხოლოდ იმ header-ფაილებს ამაგრებს, რომლებსაც Rust-კოდი იყენებს, ახვევს libsystemd-shared-ის დამხმარე ფუნქციებს, რომლებიც systemd-keyring-setup-ს სჭირდება, და ამატებს systemd-keyring-setup-ს.
აგების წესები
Rust მხოლოდ ახალი, დამოუკიდებელი კომპონენტებისთვის გამოიყენება. არსებული C კოდი არ გადადის Rust-ზე, და Rust-ში არ იწერება ის ნაწილები, რომლებზეც სხვა კომპონენტები არიან დამოკიდებულნი. Cargo არ გამოიყენება; ყველაფერი Meson-ით იგება, რომელსაც systemd უკვე იყენებს. Meson-ს ასევე ფართოდ იყენებს GNOME პროექტი და Mesa 3D გრაფიკული ბიბლიოთეკა; ის Python-ში არის დაწერილი და Ninja-ს იყენებს. Ninja Chrome-ის უფრო სწრაფად ასაგებად შეიქმნა და Android-ისთვისაც გამოიყენება. Rust-კოდმა არ უნდა გამოიყენოს სტანდარტული ბიბლიოთეკა; ეს მოთხოვნა embedded Rust-პროგრამირებისთვის ჩვეულებრივად მიიჩნევა.
მოთხოვნები და შეზღუდვები
პროექტი მოითხოვს Rust-ის 1.85 ან უფრო ახალ ვერსიას, bindgen-ის 0.71.1 ან უფრო ახალ ვერსიას და Meson-ის 1.4.0 ან უფრო ახალ ვერსიას. Rust 1.85 2025 წლის თებერვალში გამოვიდა, Rust 1.99.1 ამ თვის დასაწყისში გამოჩნდა, bindgen 0.71.1 2024 წლის დეკემბერში გამოვიდა, ხოლო Meson 1.4.0 2024 წლის მარტში გამოვიდა. ეს ვერსიები შედარებით ძველია, და Meson-ის ვერსია ისაა, რომელიც Debian 13-ში შედის. Brauner-მა თქვა, რომ გუნდს systemd-ის ბირთვში Rust-ის მხარდაჭერა სურდა, მაგრამ Rust-ის დინამიური ბიბლიოთეკების მხარდაჭერა ჯერ საკმარისად არ არის მზად. systemd-ის მოდულების Rust-ში წერა სხვა რამ არის, ვიდრე systemd-ის გამოძახება Rust-კოდიდან, და ისეთი ინსტრუმენტები, როგორიც systemd crate-ია, 2015 წლიდან არსებობს.
წყაროები: The Register
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.