Facebook объявил об открытии кода утилиты командной строки dotslash, созданной для упрощения распространения набора исполняемых файлов для разных платформ. Утилита рассчитана на выполнение сценариев, автоматизирующих загрузку подходящего для текущей платформы исполняемого файла, проверку его целостности и исполнение. Код утилиты написан на языке Rust и распространяется под лицензиями MIT и Apache 2.0...Подробнее: https://www.opennet.me/opennews/art.shtml?num=60562
Зумеры придумали `curl something | sh`, но с джсоном
Джейсоном, чем, джейсоном.
Ты что-то имеешь против Джейсона Стейтема?
Вурхиза
ну или MS C2R
`curl {something} | sudo bash -`
Не придумали, а переписали на Rust...
Юзлесс
by rust design
Ам... вот это уровень! Wget, md5 и sh скомпилированные под разные платформы вместе с простеньким скриптом... А если тот же rebol взять для любой платформы (http://www.rebol.com/release-archive.html) то для данного функционала на нём прийдётся кода написать целую строчку!
Напомню, что ещё есть Red Lang
Таки и третий Rebol пилится активно https://github.com/Oldes/Rebol3
Что это и зачем вообще оно нужно?
утилита для загрузки троянов, спасибо большое, атдуши
Тоже об этом подумал. Удобное распространение троянов! :)
Видимо в компании facebook были квоты по требованию к написанию очередной малополезной утилиты на Rust. Они написали curl.rs. https://github.com/facebook/dotslash/tree/main/src это конечно треш, такое пишут студенты в вузах. Хотя если представить что сейчас учится соевое поколение айфонов, то такое они должны писать будучи "senior-developer".
https://github.com/facebook/dotslash/blob/main/src/subcomman... все что оно умеет. Не знаю смеяться или плакать.
Вы что, это же Высококвалифицированные Инженеры огромной американской ИТ-компании!
Если они сделали так - значит именно так и надо а если остальные делали иначе - они делали неправильно просто по определению!!11
А что здесь не так? Строчка берётся из командной строки и разбирается.
Ты не понимаешь, большинство поклонников ржавчины любят его только в теории и обычно пишут на жс. Отсюда общий уровень проектов на этом языке. Это как с перлом, раньше было модно "знать перл", поэтому его пихали повсюду и качество кода от неофитов было никакущее.
Ты не поверишь, но большинство топящих за другие языки тоже в лучше случае делали на них лабу в универе.
Хотя они рассказыват про то, что "вот добавят ржавчину, я код в ядре не могу понять и поменять".
А типа сейчас он мог бы...
> Ты не понимаешь, большинство поклонников ржавчины любят его только в теории и обычно пишут на жс.на маркдаун они в основном пишут. Вспомнить хоть qwerty.
> Это как с перлом, раньше было модно "знать перл", поэтому его пихали повсюду и качество кода от
> неофитов было никакущее.зато его действительно было много и как правило - по делу, а не вот такой вот бессмысленный эталон ненужно.
Правда, частенько выкидывание зависимости от заковыристого модуля и переписывание даже не на перл а на sed/awk давало +100 к скорости работы и надежности решения. Но чтобы написать модуль и выложить его на CPAN и им кто-то стал пользоваться - все же надо было знать перл. Что конечно не гарантировало что знаток еще и кодить умеет.
Авторы dotslash и cosmopolitan - кто кого покусал?
Космополит - крут, он бинари из интернет не качает.
Ну то есть даже у рептилоидов не хватило денег на разработку FatELF. Вотакуот.
Тем не менее, яблочный Mach-O позволял в одном бинарнике хранить код для разных архитектур
Но не для ОС, разумеется
на гитхабе куча таких проектов, но откуда об этом знать фанатикам мака?
Так это не абстрактный гитхабовский васянпроект а часть системы с бородатых времён( вероятно, уже вовсю было когда яблоко только начинало на интоль переходить )
Вероятно, даже вышеупомянутый FatElf получил название по аналогии с яблочными «толстыми» бинарниками( fat lib / fat bin )На винде бы подобное было весьма кстати. Если ещё нет.
Под Линукс наконец изобрели Setup.exe, не прошло и полвека.
для этого давно есть docker
Утилита решает проблему её разраба, но больше ничего.
пару перформанс ревью годовых небось прошёл.
может даже на архитекторские лычки сумел развести.ну и манагер тоже показал успешный успех
И так — подавляющее большинство ПО. Либо проблему разраба, либо проблему того, кто ему заплатил. Далеко ходить не надо, Линукс вон и вовсе от скуки появился.
> для платформ macOS ARM64, macOS x86_64 и Linux x86_64
> #!/usr/bin/env dotslashНеудивительно что под винду нет. Ей ведь батник нужен а не юниксовщина
Итого, супер-пупер-теперь_уже_открытый продукт позволяющий распространять ПО на разных платформах… заранее имеющих на борту что-то башеподобноеПытался понять на кой оно надо и в чем ценность, так и не осилил
Есть Linux x86_64, все остальное от лукавого.
И как его на Байкал поставить?
Изобрели Union bind из plan9 но очень по своему :) "Union directories are one of the most widely used organizational features of the Plan 9 name space. For instance, the directory /bin is built as a union of /$cputype/bin (program binaries), /rc/bin (shell scripts), and perhaps more directories provided by the user. This construction makes the shell $PATH variable unnecessary.". Тула "решает" проблему нодджиэсников без дополнительных зависимостей, ну кроме rust :) Интересно, во многих системах rust установлен по умолчанию? :)
https://github.com/facebook/dotslash/blob/main/src/platform....Падает в панике на BSD. Мда.
Пользователей у эксбсд не завезли и нет ни малейшего повода тратиться на поддержку посторонней незнакомой платформы, так что тут всё нормально. На самом деле, вполне вероятно, это в большей мере потому, что раст не гарантирует работоспособность в каком-либо виде на tier2 платформах (рип).
и правильно делает
хочешь поддержку BSD? присылай патч!
Для KDE2?
под линуксатором потянет :D
а то после гибели флеша уже не знаю зачем он нужен, помимо дривиров от невидии.
```
% ./dotslash
Could not start dynamically linked executable: ./dotslash
NixOS cannot run dynamically linked executables intended for generic
linux environments out of the box. For more information, see:
https://nix.dev/permalink/stub-ld
```
Понятно
Собрать его самостоятельно никсом ты, конечно же, не осилил. Там же целый файл для этого написать надо! Впрочем, на Никсос дотслеш не нужен, никсос сам себе дотслеш.
Замешательство комментаторов понятно. Но они удивятся, узнав, что работа с текстом - это очень популярное применение языка Rust.