Линус Торвальдс выдвинул ультиматум на приём патчей от разработчиков systemd
В списке рассылки разработчиков ядра Linux Линус Торвальдс разразился жёсткой критикой в отношении разработчиков системного менеджера systemd, после попыток продвижения в ядро патча с реализацией обходного пути для решения проблемы с некорректной обработкой в systemd ситуации с передачей в числе параметров ядра опции «debug». Линус выдвинул ультиматум и заявил, что пока ситуация не изменится, он отказывается принимать в ядро код, подготовленный Кеем Сиверсом (Kay Sievers, активный разработчик systemd и один из создателей udev). Такой шаг в том числе подорвёт планы разработчиков systemd по интеграции в ядро системы Kdbus. По словам Линуса, подобная практика сваливания проблем на ядро продолжается годы и не намечается никакого положительного сдвига в сторону исправления ситуации. Поэтому Линус отказывается принимать в ядро код Kdbus и другие патчи Кея Сиверса, так как данный мэйнтейнер показал неспособность позаботиться об исправлении ошибок и регрессивных изменений, перемещая ответственность за проблемы на другие проекты и вынуждая их применять обходные пути.
В продолжении обсуждения Линус выразил недовольство тем, что некоторые разработчики думают, что мир вращается вокруг их проектов, в то время как передаваемые при загрузке ядра опции, доступные через /proc/cmdline, являются универсальным инструментом, не ограничиваются ядром и не могут быть привязаны к конкретным сервисам. Подобные опции могут обрабатываться как ядром, так и использоваться внешними приложениями, поэтому все переданные опции отражаются /proc/cmdline, независимо от того используются они ядром или нет. Данные флаги для всех и не могут быть ограничены использованием в отдельных сервисах. Например, флаг «debug» включает отладочный режим ядра, но может обрабатываться и на пользовательском уровне.
В случае systemd, при наличии флага «debug» системный менеджер включает отладочный режим, что в совокупности с отладочными данными ядра приводит к нагромождению вывода в dmesg и невозможности войти в систему. На предложение использовать для включения отладки в systemd отдельную опцию, например, «systemd.debug», вместо уже используемой в ядре опции «debug», Кей Сиверс указал, что опция «debug» является базовой и не принадлежит тому, кто первый ей воспользовался. Таким образом, при включении отладочного режима ядра, пользователи систем на основе systemd, столкнулись с невозможностью загрузки и отказом разработчиков systemd устранить ошибку, поэтому были вынуждены попытаться продвинуть в ядро патч, скрывающий опцию «debug» из вывода /proc/cmdline.
© OpenNet