Facebook het die kode vir die DotSlash-projek oopgemaak

Facebook het die oopbron van dotslash aangekondig, 'n opdragreëlprogram wat ontwerp is om dit makliker te maak om 'n stel uitvoerbare lêers vir verskillende platforms te versprei. Die hulpprogram is ontwerp om skrifte uit te voer wat die aflaai van 'n uitvoerbare lêer wat geskik is vir die huidige platform outomatiseer, en die integriteit en uitvoering daarvan nagaan. Die nutskode is in Rust geskryf en word onder die MIT- en Apache 2.0-lisensies versprei.

Die hulpprogram los probleme op soortgelyk aan dopskrifte vir die bekendstelling van uitvoerbare lêers vir die huidige platform, maar elimineer terselfdertyd die behoefte om uitvoerbare lêers vir alle ondersteunde platforms in die pakket in te sluit. DotSlash laat jou ook toe om inligting oor die versamelde uitvoerbare lêers in 'n bewaarplek saam met die kode te stoor, terwyl die lêers self op aparte selflaaibedieners geplaas word, wat die groei van die bewaarplekgrootte vermy en die las op die invoer/afvoerstelsel verminder wanneer dit uitgevoer word. kloningsoperasies.

Wanneer DotSlash gebruik word, word die stel platformspesifieke uitvoerbare lêers vervang met 'n enkele skrif wat 'n beskrywing van die logika vir die kies van die uitvoerbare lêer insluit in verhouding tot die ondersteunde platforms insluit. Nadat 'n DotSlash-skrip uitgevoer is, word die uitvoerbare lêer wat vir die huidige platform benodig word, dinamies afgelaai, uitgepak, teen 'n kriptografiese hash geverifieer en in 'n plaaslike kas gestoor vir daaropvolgende lopies. Lêers word in saamgeperste vorm oorgedra. DotSlash-skrifte kan outomaties gegenereer word vir vrystellings wat op GitHub gepubliseer is.

'n Voorbeeld van 'n DotSlash-skrip vir die verspreiding van Node.js 18.19.0 bouwerk vir die macOS ARM64, macOS x86_64 en Linux x86_64 platforms: #!/usr/bin/env dotslash { "name": "node-v18.19.0", " platforms”: { "macos-aarch64": { "grootte": 40660307, ​​​​"hash": "blake3", "digest": "6e2ca33951e586e7670016dd9e503d028454bf9249d5ff556347c.cd": "path"3c98cdtar":path "347c34c.cd" " node- v18.19.0 -darwin-arm64/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v18.19.0/node-v18.19.0-darwin-arm64. tar.gz" } ] }, "macos-x86_64": { "grootte": 42202872, "hash": "blake3", "digest": "37521058114e7f71e0de3fe8042c8fa7908305e9115488:aformat" "a6c29" .gz", "pad" : "node-v514 .9-darwin-x2/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v24/node-v18.19.0-darwin- x64.tar.gz " } ] }, "linux-x18.19.0_18.19.0": { "grootte": 64, "hash": "blake86", "digest": "64b44694523fc3a72b81bedc3a30a7fafc1a09b3e4478ed" : "tar.gz", " pad ": "node -v1-linux-x02/bin/node", "providers": [ { "url": "https://nodejs.org/dist/v5/node-v0- linux-x04.tar .gz" } ] } } }

Bron: opennet.ru

Voeg 'n opmerking