Решил я тут положить себе редактор получше vi из busybox в initramfs, ну чисто на всякий случай.
Ну просто чтобы было удобно и привычно, вдруг чего.
Естественно, с моими привычками начал смотреть на эрзац-емаксы (https://www.emacswiki.org/emacs/ErsatzEmacs)
Ну по классике сходил, пощупал MicroEmacs, который хостит Линус на kernel.org. Ну в целом, работает, но хотелось бы чего-то пожирнее, конечно. Опять же, C-h работающий как ^H (в смысле замена бэкспейсу) — весьма олдскульное решение. Хотя для initramfs сгодится, наверное, но решил посмотреть ещё.
Огляделся, что тут есть вокруг, нашёл сперва mg — примерно то же самое внешне, плюс-минус такая же функциональность, и главное — та самая непробиваемость, за которую мы и любим код BSD. Пишешь make, и оно просто собирается, без всех этих cmake'ов, autotool'ов, гор вспомогательных утилит, определения окружения, тонкой подстройки под все мелочи. Просто собирается, и просто работает. В целом мне даже понравилось, неплохо.
А потом я нашёл qemacs. Сперва я чо-то прямо охренел: и подсветка синтаксиса, и dired и куча mode'ов, и скриптинг, и всё это в двухмегабайтном файле. А потом я посмотрел на автора, и всё понял. И да, Фабрис Беллар ОПЯТЬ. Просто пришёл и сделал, как надо.
Ну дело за малым — осталось собрать статическую версию. И она даже собралась! Но на запуске для теста почему-то падала с сегфолтом, причём бектрейс выглядел абсолютно бредово, фактически пустым — на билд-ноде всё покрыто вопросиками. Сперва я сидел с лицом лица, и не мог понять, что происходит, а потом обнаружил, что падает оно внутри системды.
И да, вы не поверите, но Поттеринг тоже ОПЯТЬ (как был systemd всё это время говном, так и остался): https://github.com/systemd/systemd/issues/29337#issuecomment-1738085875
То есть оно буквально напрочь сломано и закрыто с пометкой «Вы неправильно его держите»!
Что любопытно, это беспокоит и платных клиентов: https://bugzilla.redhat.com/show_bug.cgi?id=1842745 https://bugzilla.redhat.com/show_bug.cgi?id=1963710
Но поскольку сам Поттеринг теперь в MS, его это вообще не волнует.
Ну то есть на самом деле причина, конечно, более фундаментальная, и кроется в glibc: https://sourceware.org/bugzilla/show_bug.cgi?id=26729
Но здесь даже непонятно, можно ли это решить в общем виде.
А вот с этой ситуации я чо-то прямо проорал. Ну в итоге пересобрал на своей гентушной машине с openrc, где в каждый процесс не подгружаются никакие левые библиотеки с непонятными целями, и всё просто заработало. Но сам факт, конечно, удивляет.
В общем, традиционно желаем рака яичек идиотам, собирающим комбайны и проталкивающим их за корпоративные деньги, также пожелаем скорейшей смерти и быстрейшего разложения куску говна, который по недоразумению называют «современным инитом», и по-прежнему помним, что никакая корпорация не может принести в разработку открытого софта ничего хорошего.
@rayslava
>и по-прежнему помним, что никакая корпорация не может принести в разработку открытого софта ничего хорошего.
Но почти весь опенсорс, который можно для чего-то полезного применить пишется корпоратами. А те кто "за все хорошее" не тянут большие проекты.