Adapting Debian ngagunakeun palaksanaan Rust of coreutils

Sylvestre Ledru, dipikawanoh pikeun karyana ngawangun Debian GNU/Linux maké kompiler Clang, ngalaporkeun percobaan suksés ngagunakeun hiji set alternatif utiliti, coreutils, ditulis ulang dina basa Rust. Coreutils kalebet utilitas sapertos sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln sareng ls. Pikeun tahap mimiti integrasi kana Debian tina versi Rust of coreutils, tujuan ieu disetél:

  • Pakét alternatif Rust pikeun coreutils pikeun Debian sareng Ubuntu.
  • Booting Debian sareng desktop GNOME nganggo rust-coreutils.
  • Masang 1000 bungkusan anu paling populér tina gudang.
  • Ngawangun tina Firefox, LLVM / Clang jeung sumber kernel Linux Ubuntu dina lingkungan kalawan rust-coreutils.

Sanggeus nyieun leuwih ti 100 patch pikeun Rust / coreutils, kami bisa hasil ngahontal sagala tujuan dimaksudkeun. Karya anu lumangsung kalebet palaksanaan utilitas sareng pilihan anu leungit, ningkatkeun kualitas sareng kaseragaman kode, ngembangkeun suite tés, sareng ngaleungitkeun kacilakaan anu lumangsung nalika ngajalankeun suite tés ti GNU Coreutils (141 tés tina 613 parantos suksés dijalankeun dugi ka ayeuna. ).

Nalika nyieun pakét karat-coreutils, ieu mutuskeun teu ngaganti pakét coreutils, tapi nyadiakeun kamampuhan pikeun aranjeunna dianggo dina paralel. Pilihan utiliti dina basa Rust dipasang dina /usr/lib/cargo/bin/ sarta diaktipkeun ku nambahkeun diréktori ieu kana variabel lingkungan PATH. Nyiptakeun pakét rust-coreutils rumit ku kabutuhan pikeun ngaunduh sadaya katergantungan ngawangun kana gudang, kalebet Rust sareng sagala rupa bungkusan peti leutik.

Nyiptakeun gambar boot éta teu jadi masalah, tapi adapting bungkusan pikeun lingkungan kalawan karat-coreutils diperlukeun loba karya, saprak loba Aksara pos-install nelepon Utiliti ti set coreutils. Jumlah pangbadagna masalah anu disababkeun ku kurangna pilihan diperlukeun, contona, "cp" utiliti teu boga "--archive" jeung "--no-dereference" pilihan, "ln" teu ngarojong "- rélatif", mktemp teu ngarojong "-t", di singkronisasi "-fs", di install - "--owner" jeung "-group". Masalah sanésna timbul kusabab bédana paripolah, contona, utilitas install henteu ngadukung netepkeun / dev / null salaku file input, mkdir ngagaduhan pilihan "--parents" tinimbang "-parent", jsb.

Nalika nguji rakitan basa kode anu ageung, henteu aya masalah anu ageung. Nalika ngawangun Firefox sareng LLVM / Clang, skrip python sareng cmake dianggo, janten ngagantian coreutils henteu mangaruhan aranjeunna. Ngawangun kernel Linux kawilang lancar, ngan ukur aya dua masalah: kaluaran kasalahan nalika nganggo chown kalayan tautan simbolis sareng kurangna pilihan "-n" dina utilitas ln.

sumber: opennet.ru

Tambahkeun komentar