Линус Торвальдс отказался принимать предназначенный для ядра 7.0 набор изменений от сопровождающего подсистему MMC (MultiMedia Card), назвав присланный патчи "полным мусорм", который даже не компилируется. По его предположению изменения не были предварительно обкатаны в ветке linux-next и не проходили сборочное тестирование...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64784
> Компиляция завершалась ошибкой из-за
> повторного переопределения переменной.Но как?!
Как PR с некомпиляющимся кодом вообще отправился на ревью?А... ну да, у нас же тут диды, которые почтой PR отправляют!
Не то что у этих смузихлебов всякие CI, интерационные тесты, еще какая-то новомодная хрень.
Нейрослоп наверняка.
Не гони на прохресс!
Это даже не нейрослоп, это просто кекспертный уровень. Вайбкодер хотя бы попросил нейронку это скомпилировать и починить ошибки.
> Нейрослоп наверняка.Не... нейрослоп как минимум попытался бы скомпилить свой выс... код.
И сам бы попытался исправил. Ну или хотя бы сообщил.А настоящий ядерный погромист даже не компилял :)
"Нейрослоп" хорошо решается залогом:
К патче прикреплаешь например 1 бикойн
Если код плохой Биткойн не возвращается. Хороший - возвращается.
И остаешься без коммитеров)
Потому что не у каждого есть биткойн "вынь да положь".Проще забить и путь другие немамонты пишут ядро.
Насяльника, какой такой тистиравания? A KPI по количеству строк кода (возможно сгенерированного ИИ) кто выдерживать будет?
Ладно кол-во и ИИ.
Просто прогоните тесты.. если они у вас есть))
В нормальных проектах CI проверил сборку ветки, пробежали юнит и прочие тесты.Но ядро выше чем все эти мелочи, просто отправь то что написякал голубиной почтой, пусть кто-то там разбирается.
я сказаль ыы прогони теста. ии сказаль все работаит софтастрои.а оно -- вотъ...
> The following changes since commit 63804fed149a6750ffd28610c5c1c98cce6bd377:
> Linux 6.19-rc7 (2026-01-25 14:11:24 -0800)
> are available in the Git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc.git tags/mmc-v7.0Нет никакой голубиной почты, всё через репозиторий. Коммитер закоммитил своё творчество, не удосужившись предварительно даже просто собрать ядро.
> В нормальных проектах CI проверил сборку ветки, пробежали юнит и прочие тесты.
Этот коммитер точно так же не стал бы прогонять тесты и результат был бы тот же, несмотря на все ваши новомодные тесты и сиаи. А если ваша апелляция к тому, что что-то сфейлилось бы на билд-сервере, так оно по сути и сфейлилось - Линус всё проверил и в релиз это не ушло.
Ну и про юнит тесты - было бы интересо послушать ваше мнение подробнее. Я лично, с одной стороны, вижу как ядро постоянно переделывается между релизами по всему коду, так что раз в полгода-год та же нвидия перестаёт собираться. С другой стороны, я вижу знакомого, работающего в крупной компании, с юнит-тестами по 30 строк каждый (подготовка, выполнение действий, и несколько проверок результата) и его производительностью 5 новых тестов в день. Ему проще перед релизом вручную протыкать за пару недель весь функционал, чем потратить полгода, чтобы переделать все эти тесты под новую логику. Как вы предполагаете объединять неповоротливость юнит-тестов и неконтролируемую скорость разработки ядра?
> Нет никакой голубиной почты, всё через репозиторий. Коммитер закоммитил своё творчество, не удосужившись предварительно даже просто собрать ядро.А как же почтовая рассылка?
Где в message 25/43 вам могли написать серьезное замечание, а в message 30/43 попросить заменить color на colour и побыстрее так как это оскорбляет чьи то чувства.> Этот коммитер точно так же не стал бы прогонять тесты и результат был бы тот же, несмотря на все ваши новомодные тесты и сиаи.
Такой же, да не совсем.
> А если ваша апелляция к тому, что что-то сфейлилось бы на билд-сервере, так оно по сути и сфейлилось - Линус всё проверил и в релиз это не ушло.
Ну давайте Линус будет билдить каждый мердж-риквест.
У него наверное времени много.> Ну и про юнит тесты - было бы интересо послушать ваше мнение подробнее.
Я могу просто поделиться своим опытом.
Проект на 10 лямов LOC.
Есть базовые юнит тесты, есть расширенный набор который бегает раз в несколько дней.
Плюс чеки на сборку под 3 платформы.Если чеки не прошли (не собралось) то даже добавить ревьюверов можно только специальной командой.
Если оно не собралось - кнопка мердж не активна.
Если тесты не прошли - кнопка мердж не активна.
Если минимум 2 ревьювера не поставили свои апрувы - да кнопка тоже не активна)До Линуса оно даже не дошло бы.
CI попробовал бы собрать, не смог и отправил горе пограммисту письмо "твой овнокод даже не собрался!"И это бы предотвратило такие ситуации opennet.me/opennews/art.shtml?num=62555
"патч ... был подан нестандартно - но был принят, хотя не получил ни одного подтверждения (ACK) от мэйнтайнеров"> Как вы предполагаете объединять неповоротливость юнит-тестов и неконтролируемую скорость разработки ядра?
Тяжело)) Как и всё что связано с разработкой ядра.
Я бы выделил отдельные подсистемы и поставил задачу для их разработчиков покрыть их тестами. Далеко подсистемы не все меняются активно.
Это будет долгий процесс, но ядро не год делается.Как минимум стоит посмотреть Linux Test Project и kernel Autotest и узнать какие у них трудности.
Claudes C Compiler использовать для компиляции пробовал? Может этот нейрослоп был для компиляции им заточен?
может кто-то в промпте забыл сказать "и оно должно компилироваться!"
бывает. Или модель проигнорировала указивку где-то в середине текста (они у штирлица учились и прекрасно знают что помнить надо первое и последнее предложения, а как размножаются йожики можно сразу забыть)
Ну, и х@м этот Линус.
Троллинг засчитан.
По чесноку, если говорить прямо, то всё правильно сделал.
Ладно тестирование, ладно юниттесты, ладно CI, но можно просто попытаться скомпилить это на самом мин. для этого железе и т.п.?
Как и сказали комментаторы выше, попахивает очередным нейрослопом, или хотя бы автоматической отправкой PR.
> Компиляция завершалась ошибкой из-за повторного переопределения переменной.
> но можно просто попытаться скомпилитьЯ не в теме, поэтому вопрос. А че, статических анализаторов кода через какой-нибудь LSP для Си нет, которые еще на этапе редактирования такие простейшие моменты найдут?
Они конечно есть.
Но на них Настоящие Ядреные Пограммисты кладут болт.Чтобы заставить ленивых м--ов что-то сделать, нужно вводить обязаловку.
Не прошли чеки на сборку? Иди в пень, даже ревьюверов не сможешь добавить, чтобы их лишний раз не отвлекать.
Товальдс, молодец).
Я за первый случай коммита несобирающегося кода депремировал, за второй штрафовал + депремирование, на третий увольнял. А ругаться бессмысленно.
Самого за бытность джуном заставляли на каждом дейли коммитить собирающийся и рабочий код в репозиторий?
Кого ты собираешься штрафовать? линусу бесплатно в ядро комьюнят
уже лет 15 не бесплатно, вокруг ядра собрались крупные корпорации, которым плевать на линукс, им нужна только прибыль. отправить нейрослоп для них плевое дело потому, что это дешевле найма настоящего разраба на сях.
Разве корпорация г** отправила , а не частный любитель во всяких gpt сидеть ?
там адресок @linaro - т.е. не то чтоб совсем частный любитель, скорее - проедатель донатов. Не прокатилло, денежки наивных л=в переходят в другие карманцы.в корпорациях помимо пряников еще и кнут предусмотрен, если ты не удосужишься даже проверить что оно собирается.
Это как-то опровергает утверждение, что Линусу коммитят бесплатно, и как следствие он не может штрафовать на зарплату?
> Это как-то опровергает утверждение, что Линусу коммитят бесплатно, и как следствие он
> не может штрафовать на зарплату?ну он в целом именно это и сделал - запрет на прием изменений от неудачника = хрен он получит очередные денежки линары. Потому что те платят все же за успешные успехи а не за потраченное время.
Расскажите как уволить человека? я на полном серьёзе, мне интересна юридическая сторона. Если вы конечно не в США.
> Расскажите как уволить человека? я на полном серьёзе, мне интересна юридическая сторона.
> Если вы конечно не в США.приказом руководства вводится аттестация технического персонала. Составляются планы и правила. Назначается комиссия. Не прошел - увольнение по несоответствию занимаемой должности.
Можно поиграть с мышкой - сперва предупреждение о неполном, с занесением в трудовую. Минус премии и прочие не явно гарантированные трудовым договором радости. Чаще всего в современной реальности это треть зарплаты. Через пол-года вторая аттестация. Второе предупреждение.
На третьем - увольнение.Оспорить такое в суде - желаю всяческих узбеков. Найти с такими записями работу - ну тоже интересно.
Если бы твое руководство на самом деле интересовало качество нанимаемого персонала - были бы еще аттестации по итогам испытательного срока, где можно уволить сразу и без объяснений.
Ещё кто-то желает комьютить в ядро?