Debian се враќа на поддршка за повеќе иницијални системи

Сем Хартман, водач на проектот Debian, се обиде да се разберат несогласувањата поврзани со испораката на елогинд пакетот како дел од дистрибуцијата. Во јули, тимот одговорен за подготовка на изданија блокиран вклучување на elogind во гранката за тестирање, бидејќи овој пакет е во конфликт со libsystemd.

Потсетиме дека елогинд обезбедува интерфејси потребни за извршување на GNOME без инсталирање на systemd. Проектот беше основан како вилушка на systemd-login, ставен во посебен пакет и ослободен од врзување за системските компоненти. Меѓу другото, elogind обезбедува своја верзија на библиотеката libelogind, која презема голем број функции понудени во libsystemd и ја заменува оваа библиотека за време на инсталацијата.

Причините за блокирање беа конфликт со systemd пакетот и опасноста од замена на libsystemd со алтернативен libelogind, кој е целосно некомпатибилен со изворната библиотека на ниво на ABI.
Пакетот означува дека е во конфликт со системските библиотеки, но тој е инхерентно дизајниран да работи само без systemd, а конфликтот со systemd е всушност корисен бидејќи го спречува elogind да се инсталира по грешка. Од друга страна, во нејзината сегашна форма, обидите преку APT да ја ажурираат конфигурацијата од systemd во верзијата со sysvinit и elogind резултираат со оштетен систем со APT не работи. Но, дури и ако овој недостаток се елиминира, преминот од systemd во elogind останува невозможен без бришење на веќе инсталираните кориснички околини.

Програмерите на elogind беа предложи приспособете го elogind да работи на врвот на стандардниот libpam-systemd, без користење на сопствен слој libpam-elogind. Транзицијата на elogind во libpam-systemd е попречена од недостатокот на поддршка за концептот на slices, но развивачите на elogind не сакаат да постигнат целосна усогласеност со API и точно да ги повторат сите можности на systemd, бидејќи elogind обезбедува само минимални функционалност за организирање на најавувања на корисници и нема за цел да ги реплицира сите системски потсистеми.

Решавањето на опишаните технички проблеми треба да се реши на ниво на интеракција помеѓу тимот за ослободување и одржувачите на елогинд и систем, но водачот на проектот беше принуден да интервенира бидејќи тимовите не можеа да се договорат, заедничката работа се претвори во конфронтација и решението на проблемот влезе во ќорсокак, во кој секоја страна беше во право на свој начин. Според Сем Хартман, ситуацијата се приближува кон состојба која бара општо гласање (ГР, општа резолуција), во која заедницата ќе одлучува за алтернативни системи за иницирање и поддршка за sysvinit со elogind.

Ако членовите на проектот гласаат за диверзификација на иницијалните системи, сите одржувачи ќе бидат вклучени во работата заедно за да го решат овој проблем или ќе бидат назначени конкретни развивачи да работат на ова прашање и одржувачите веќе нема да можат да игнорираат алтернативен иницијален систем, да молчат или го одложи процесот.

Во моментов е веќе во складиштето акумулирано 1033 пакети кои обезбедуваат услужни единици за systemd, но не вклучуваат скрипти init.d. За да се реши овој проблем понудени стандардно снабдувајте датотеки за услуги, но подгответе управувач кој автоматски ќе ги анализира командите од овие датотеки и ќе генерира скрипти init.d врз основа на нив.

Ако заедницата одлучи дека Debian има доволно поддршка за еден иницијален систем, повеќе не можеме да се грижиме за sysvinit и elogind и да се фокусираме само на unit датотеки и systemd. Оваа одлука негативно ќе влијае на портите што не го користат кернелот на Linux (Debian GNU / Hurd, Debian GNU / NetBSD и Debian GNU / kFreeBSD), но такви порти сè уште нема во главната архива и немаат статус официјално поддржан.

Поврзувањето со systemd, исто така, ќе го отежне менувањето на насоката на дистрибуцијата во иднина и ќе го ограничи понатамошното експериментирање на полето на иницијализација и управување со услуги. Одржувањето на elogind во работна форма е многу полесно отколку да го избришете и потоа да се обидете повторно да го додадете. Секоја опција за одлука има добрите и лошите страни, така што ќе биде потребна целосна дискусија за сите добрите и лошите страни пред гласањето.

Извор: opennet.ru

Додадете коментар