Сем Хартман (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, а ще се фокусира само върху unit-файловете и systemd. Такова решение ще има негативно влияние върху портовете, които не използват ядрото на Linux (, и ), но в основния архив все още няма подобни портове и те нямат статус .
Привързаността към systemd също значително ще затрудни смяната на развитието на дистрибутива в бъдеще и ще ограничи провеждането на по-нататъшни експерименти в областта на инициализацията и управлението на услуги. Поддържането на elogind в работен вид е значително по-лесно от това да се премахне и след това да се опита отново да се добави. Всеки вариант на решение има своите плюсове и минуси, така че преди гласуването ще бъде необходимо всестранно обсъждане на всички аргументи за и против.
Източник: opennet.ru
