Сем Хартман (Sam Hartman), ръководител на проекта Debian, да разбере разногласията, свързани с доставката на пакета elogind в дистрибуцията. През юли екипът, отговарящ за подготовката на версиите, включването на elogind в тестовата ветка, тъй като този пакет конфликтува с libsystemd.
Напомняме, че предоставя интерфейси, необходими за работа на GNOME без инсталирано systemd. Проектът е основан като разделение от systemd-logind, прехвърлено в отделен пакет и освободено от свързаността с компонентите на systemd. Включително elogind предлага своя версия на библиотеката libelogind, която поема редица функции, предлагани в libsystemd, и заменя тази библиотека при инсталация.
Като причини за блокировката е посочен конфликтът с пакета systemd и опасността от подмяна на libsystemd с алтернативната версия libelogind, която не е напълно съвместима с оригиналната библиотека на ниво ABI.
В пакета elogind е маркиран като конфликтуващ с библиотеките systemd, но по същество е проектиран да работи само без systemd, а конфликтът със systemd дори е полезен, тъй като не позволява инсталирането на elogind по погрешка. От друга страна, в текущото си състояние опитите чрез APT да се обнови конфигурацията от systemd на версия с sysvinit и elogind водят до получаване на с неработещ APT. Но дори при корекция на този недостатък, преминаването от systemd към elogind остава невъзможно без премахване на вече инсталираните потребителски среди.
На разработчиците на elogind им беше необходимо да адаптират elogind за работа на базата на стандартния libpam-systemd, без използването на собствена прослойка libpam-elogind. Преходът на elogind към libpam-systemd се затруднява от липсата на поддръжка на концепцията за слайсове, но разработчиците на elogind не желаят да постигнат пълна съвместимост на API и да повторят всички функции на systemd, тъй като elogind просто предоставя минимална функционалност за организиране на входа на потребителите и няма за цел да повтори всички подсистеми на systemd.
Решаването на описаните технически проблеми трябва да се извършва на ниво взаимодействие между екипа, който пуска релизите, и поддържащите elogind и systemd, но проектният лидер бе принуден да се намеси, тъй като екипите не успяха да се споразумеят, съвместната работа прерасна в противостояние и решаването на проблема достигна до задънена улица, в която всяка страна е права по свой собствен начин. Според Съм Хартман, ситуацията приближава до състояние, изискващо провеждане на общо гласуване (GR, general resolution), в което общността ще вземе решение относно алтернативните системи за инициализация и поддръжката на sysvinit с elogind.
Ако участниците в проекта гласуват за диверсификация на системите за инициализация, всички поддържащи лица ще бъдат включени в съвместната работа по решаването на тази задача или ще бъдат назначени специално отговорни разработчици, които да работят по този проблем, а съпровождащите няма да могат повече да игнорират алтернативната система за инициализация, да замълчават или да забавят процеса.
В момента в хранилището вече 1033 пакета, предоставящи сервизни единици за systemd, но не включващи скриптове init.d. За решаване на този проблем трябва да се предоставят по подразбиране service-файлове, но да се подготви обработчик, който автоматично да интерпретира командите от тези файлове и да генерира скриптове init.d на тяхна основа.
Ако общността реши, че в Debian е достатъчна поддръжката на една система за инициализация, може да се спре да се внимава за sysvinit и elogind, като се съсредоточи само върху единичните файлове и systemd. Такова решение негативно ще повлияе на портовете, които не използват ядрото на Linux (, и ), но в основния архив на подобни портове все още няма и те нямат статус .
Привързването към systemd също значително ще затрудни промяната на посоката на развитие на дистрибуцията в бъдеще и ще ограничи провеждането на допълнителни експерименти в областта на инициализацията и управлението на услуги. Поддържането на elogind в работно състояние е значително по-лесно, отколкото да го премахнеш и след това да се опиташ да го добавиш отново. Всеки вариант на решението има плюсове и минуси, затова преди гласуването ще е необходимо всестранно обсъждане на всичкиArgumentи за и против.
Източник: opennet.ru
