He pyytävät mukauttamaan Debianin käyttämään ydinohjelmien Rust-toteutusta

sylvestre ledru (kehittäjä, joka tunnetaan työstään Debian GNU / Linuxin rakentamiseksi Clang-kääntäjän avulla) julkaisi äskettäin raportin kokeilusta onnistunut vaihtoehtoisella joukolla apuohjelmia, coreutils, kirjoitettu uudelleen Rustiin.

Niille, joille Coreutils ei ole tuttu, sinun tulisi tietää, että se sisältää apuohjelmia, kuten lajittelu, kissa, chmod, chown, chroot, cp, päivämäärä, dd, kaiku, isäntänimi, id, ln ja ls. sylvestre ledru mainitse se ja Debianin integroinnin ensimmäinen vaihe Rustin coreutils-versiosta, asetettiin seuraavat tavoitteet:

  • Luo paketti vaihtoehtoisilla Rust-ytimillä sekä Debianille että Ubuntulle.
  • Debianin käynnistäminen Gnome-työpöytäympäristöllä rust-coreutilsin avulla.
  • Asenna 1000 suosituinta pakettia arkistosta.
  • Rakenna Firefox-, LLVM / Clang- ja Linux-ytimen lähteistä, joissa on ruoste-coreutils.

Ja sen mukana luomalla yli 100 korjaustiedostoa Rust / coreutilsille kaikki tavoitellut tavoitteet saavutettiin onnistuneesti. Itse asiassa keskeneräinen työ korostaa puuttuvien apuohjelmien ja vaihtoehtojen toteuttamista, koodin laadun ja yhdenmukaisuuden parantaminen, testipaketin kehittäminen, GNU Coreutils -testipaketin suorittamisessa esiintyvien virheiden korjaaminen (141 613 testistä on toistaiseksi onnistunut).

Mainitse myös, että luodessasi rust-coreutils-pakettia päätettiin olla korvaamatta pakettia coreutils, mutta anna niiden toimia rinnakkain. Apuohjelmien Rust-versiot asennetaan hakemistoon / usr / lib / cargo / bin / ja aktivoidaan lisäämällä tämä hakemisto PATH-ympäristömuuttujaan. Rust-coreutils-paketin luominen vaikeutti kaikkien tietovaraston rakennusrakenteiden riippuvuuksien lataamista, mukaan lukien Rust ja useita pienikokoisia paketteja.

Aloin osallistua Rustissa kehitettyihin vaihtoehtoisiin Coreutils-tuotteisiin. Projektin tarkoituksena on ehdottaa suoraa korvaamista C-pohjaiselle GNU Coreutilsille ja halusi arvioida, voidaanko sitä käyttää normaalin Debianin käyttämiseen. Samanlainen kuin mitä tein clang.debian.net -sivustolla muutama vuosi sitten (Debian-arkiston uudelleenrakentaminen käyttämällä clangia gcc: n sijaan).

Toivottavasti useimmat lukijat tietävät mitä Coreutils on. Se on joukko ohjelmia, jotka suorittavat yksinkertaisia ​​toimintoja (kopioi / siirrä tiedosto, vaihda käyttöoikeuksia / omistajuutta jne.). Vaikka jotkut komennot olisivatkin peräisin 70-luvulta, ne ovat Linuxin, Unixin ja macOS: n ytimessä. Vaikka erilaisia ​​toteutuksia löytyy, ne yrittävät pysyä yhteensopivina argumenttien, vaihtoehtojen jne. Suhteen. Tämä Coreutilsin toteutus ei ole erilainen!

Toisaalta siinä mainitaan, että käynnistyskuvan luomisessa ei ollut erityisiä ongelmia järjestelmää, mutta pakettien mukauttaminen ruoste-coreutils-ympäristöön vaati paljon työtä, koska monet asennuksen jälkeiset komentosarjat kutsuvat coreutils-paketin apuohjelmia, koska suurin osa ongelmista johtui tarvittavien vaihtoehtojen puuttumisesta, esimerkiksi mainitsee, että apuohjelmasta "cp" puuttui vaihtoehtoja "- arkisto" ja "- ei-poikkeama", kun taas "ln": lle se ei tue "- suhteellinen" ja vaihtoehtoa mktemp - "-t«, synkronoituna »-fs «, Asennettuna -» –omistaja «ja» –ryhmä «.

Muita ongelmia syntyi myös käyttäytymiserojen vuoksiEsimerkiksi asennusapuohjelma ei tue / dev / null -asetuksen määrittämistä syötetiedostoksi, mkdir-tiedostossa “–parent” -vaihtoehdon sijaan oli vaihtoehto “–parents” ja niin edelleen.

Pakkaus Debianissa ei ole triviaali tai yksinkertainen tehtävä. Se vaatii kaikkien tiedostossa olevien riippuvuuksien lataamisen itsenäisesti. Ruoste, uudella ekosysteemillä ja pienillä laatikoilla, vaikeuttaa tätä tehtävää huomattavasti.

Suurten koodipohjien koontiversiota testattaessa ei ollut suuria ongelmia. Firefoxia ja LLVM / Clangia koottaessa käytetään python- ja cmake-komentosarjoja, joten coreutilsin korvaaminen ei vaikuttanut niihin. Linux-ytimen koontiversio oli suhteellisen tasainen, esiin nousi vain kaksi ongelmaa: virhelähtö, kun chownia käytetään symbolisella linkillä, ja "-n" -vaihtoehdon puuttuminen ln-apuohjelmasta.

Vihdoin jos haluat tietää lisää nuotista, voit tarkistaa yksityiskohdat Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.