Email or username:

Password:

Forgot your password?
rayslava

Решил я тут положить себе редактор получше vi из busybox в initramfs, ну чисто на всякий случай.
Ну просто чтобы было удобно и привычно, вдруг чего.
Естественно, с моими привычками начал смотреть на эрзац-емаксы (emacswiki.org/emacs/ErsatzEmac)
Ну по классике сходил, пощупал MicroEmacs, который хостит Линус на kernel.org. Ну в целом, работает, но хотелось бы чего-то пожирнее, конечно. Опять же, C-h работающий как ^H (в смысле замена бэкспейсу) — весьма олдскульное решение. Хотя для initramfs сгодится, наверное, но решил посмотреть ещё.
Огляделся, что тут есть вокруг, нашёл сперва mg — примерно то же самое внешне, плюс-минус такая же функциональность, и главное — та самая непробиваемость, за которую мы и любим код BSD. Пишешь make, и оно просто собирается, без всех этих cmake'ов, autotool'ов, гор вспомогательных утилит, определения окружения, тонкой подстройки под все мелочи. Просто собирается, и просто работает. В целом мне даже понравилось, неплохо.
А потом я нашёл qemacs. Сперва я чо-то прямо охренел: и подсветка синтаксиса, и dired и куча mode'ов, и скриптинг, и всё это в двухмегабайтном файле. А потом я посмотрел на автора, и всё понял. И да, Фабрис Беллар ОПЯТЬ. Просто пришёл и сделал, как надо.

Ну дело за малым — осталось собрать статическую версию. И она даже собралась! Но на запуске для теста почему-то падала с сегфолтом, причём бектрейс выглядел абсолютно бредово, фактически пустым — на билд-ноде всё покрыто вопросиками. Сперва я сидел с лицом лица, и не мог понять, что происходит, а потом обнаружил, что падает оно внутри системды.

И да, вы не поверите, но Поттеринг тоже ОПЯТЬ (как был systemd всё это время говном, так и остался): github.com/systemd/systemd/iss
То есть оно буквально напрочь сломано и закрыто с пометкой «Вы неправильно его держите»!

Что любопытно, это беспокоит и платных клиентов: bugzilla.redhat.com/show_bug.c bugzilla.redhat.com/show_bug.c
Но поскольку сам Поттеринг теперь в MS, его это вообще не волнует.

Ну то есть на самом деле причина, конечно, более фундаментальная, и кроется в glibc: sourceware.org/bugzilla/show_b
Но здесь даже непонятно, можно ли это решить в общем виде.

А вот с этой ситуации я чо-то прямо проорал. Ну в итоге пересобрал на своей гентушной машине с openrc, где в каждый процесс не подгружаются никакие левые библиотеки с непонятными целями, и всё просто заработало. Но сам факт, конечно, удивляет.

В общем, традиционно желаем рака яичек идиотам, собирающим комбайны и проталкивающим их за корпоративные деньги, также пожелаем скорейшей смерти и быстрейшего разложения куску говна, который по недоразумению называют «современным инитом», и по-прежнему помним, что никакая корпорация не может принести в разработку открытого софта ничего хорошего.

#дыбр #oss

3 comments
DELETED

@rayslava
>и по-прежнему помним, что никакая корпорация не может принести в разработку открытого софта ничего хорошего.

Но почти весь опенсорс, который можно для чего-то полезного применить пишется корпоратами. А те кто "за все хорошее" не тянут большие проекты.

Artificial Stupidity

@rayslava а ещё был zile микроемакс неплохой

rayslava

@AncientGood да, я его тоже проверил, он довольно неплох, но меня смутило то, что он написан на lua, который генерит vala, который генерит C :D
В итоге там лютая завязка на gobject и всякую прочую шнягу, вроде libgee, и бинарь простейшего, в общем-то, редактора получается размером в шесть с лишним мегабайт. Такими темпами туда можно и micro запихать, и написать ему в конфиг биндинги емаксовые.
На самом деле мне кажется, что в такой размер уже обычный и GNU Emacs влезет, если постараться :D

Go Up