Бардак в binutils

[developer-notes] [binutils] [gnu-brain-damage]

(Это копия моего поста, размещенного на форуме: https://www.linux.org.ru/forum/talks/17234241)

Простите, но у меня сгорела жопа.

Итак, binutils.


Некоторые комменты:

EXL:

Самое отвратное – нет нигде таблицы совместимости вида

binutils-version <=> gcc-version

Если требуется собрать старый GCC, нужно ориентироваться по датам.

a1ba:

Именно такое у меня было взаимодействие с этим же binutils, как ты описал.

Более того, чтобы законтрибутить туда что-то, надо подписывать CLA и отправлять в FSF. Но вот детальной информации о том как оформлять патчи нет.

AP:

Скажи спасибо, что NEWS вообще есть. Мне как-то пришлось для дела выгрести из гита полтора года коммитов в проект, чтобы понять изменения. Потому что «ну мы тут чё-то выпустили, вот, пользуйтесь, нужен список изменений – читайте гит лог». Это просто низкая культура software development. Как говорит один мой знакомый про таких персонажей, «ты программист хороший, но разработчик херовый».


P.S.

Для меня примером, как надо оформлять релиз ноты, является glibc. На странице https://sourceware.org/glibc/wiki/Glibc%20Timeline представлена таблица с версиями и датами, а также со ссылками, перейдя по которым, вы можете прочитать подробную информацию о релизе.

А примером того, как описывать требования к сборочному процессу, можно считать musl: https://web.archive.org/web/20221020125040/https://musl.libc.org/doc/1.1.24/manual.html

Это уже не говоря о том, что:

The only build-time prerequisites for musl are the standard POSIX shell and utilities, GNU Make (version 3.81 or later) and an appropriate freestanding C99 compiler toolchain (see below) targeting the desired instruction set architecture and ABI.

The system used to build musl does not need to be Linux-based, nor do the Linux kernel headers need to be available.

2023.05.22