Sam Hartman, leader del progetto Debian, di chiarire le controversie relative alla fornitura del pacchetto elogind all'interno della distribuzione. A luglio, il team responsabile della preparazione delle versioni, l'inclusione di elogind nel ramo testing, poiché questo pacchetto presenta conflitti con libsystemd.
Ricordiamo che fornisce interfacce necessarie per il funzionamento di GNOME senza l'installazione di systemd. Il progetto è stato creato come un fork di systemd-logind, trasferito in un pacchetto separato e liberato dalla dipendenza dai componenti di systemd. In particolare, elogind offre una propria versione della libreria libelogind, che si occupa di alcune funzioni fornite in libsystemd e sostituisce quest'ultima durante l'installazione.
Tra le motivazioni del blocco è stato evidenziato il conflitto con il pacchetto systemd e il rischio di sostituire libsystemd con una variante alternativa libelogind, totalmente incompatibile con la libreria originale a livello di ABI.
Nel pacchetto elogind è segnalato come in conflitto con le librerie systemd, ma è progettato per funzionare esclusivamente senza systemd, e il conflitto con systemd risulta utile, poiché impedisce l'installazione errata di elogind. D'altra parte, nel suo stato attuale, i tentativi di aggiornare tramite APT la configurazione da systemd a sysvinit e elogind portano a con APT non funzionante. Tuttavia, anche eliminando questo problema, il passaggio da systemd a elogind rimane impossibile senza rimuovere gli ambienti utente già installati.
Agli sviluppatori di elogind è stato di adattare elogind per lavorare sopra il libpam-systemd predefinito, senza utilizzare il proprio strato libpam-elogind. Il passaggio di elogind a libpam-systemd è ostacolato dalla mancanza di supporto per il concetto di slice, ma gli sviluppatori di elogind non desiderano ottenere una piena conformità all'API né replicare esattamente tutte le funzionalità di systemd, poiché elogind fornisce solo la funzionalità minima per l'organizzazione dell'accesso degli utenti e non ha l'obiettivo di duplicare tutti i sottosistemi di systemd.
La risoluzione dei problemi tecnici descritti deve avvenire a livello di interazione tra il team di rilascio e i manutentori di elogind e systemd, ma il leader del progetto è stato costretto a intervenire poiché i team non sono riusciti a trovare un accordo; la collaborazione si è trasformata in uno scontro e la soluzione del problema è entrata in un vicolo cieco in cui ciascuna parte ha ragione a modo suo. Secondo Sam Hartman, la situazione sta raggiungendo uno stato che richiede un voto comune (GR, general resolution), in cui la comunità prenderà una decisione riguardo ai sistemi di inizializzazione alternativi e al supporto di sysvinit con elogind.
Se i partecipanti al progetto voteranno per la diversificazione dei sistemi di inizializzazione, tutti i manutentori saranno coinvolti nel lavoro collaborativo per affrontare questo compito o saranno nominati sviluppatori speciali responsabili per questa problematica, e i manutentori non potranno più ignorare il sistema di inizializzazione alternativo, rimanere in silenzio o ritardare il processo.
Attualmente nel repository sono già 1033 pacchetti che forniscono unità di servizio per systemd, ma non includono script init.d. Per affrontare questo problema di fornire per default file di servizio, ma di preparare un gestore che analizzi automaticamente i comandi da questi file e generi script init.d.
Se la comunità deciderà che in Debian è sufficiente supportare un solo sistema di init, non sarà più necessario preoccuparsi di sysvinit ed elogind, concentrandosi solo sui file unit e su systemd. Questa soluzione avrà un impatto negativo sui porting che non usano il kernel Linux (, e ), ma al momento non ci sono archivi di tali porting e non hanno lo stato di .
Il legame con systemd renderà anche molto più difficile cambiare la direzione dello sviluppo della distribuzione in futuro e limiterà la possibilità di ulteriori esperimenti nel campo dell'inizializzazione e della gestione dei servizi. Mantenere elogind in uno stato funzionante è decisamente più semplice rispetto a eliminarlo e poi cercare di aggiungerlo di nuovo. Ogni opzione di soluzione ha pro e contro, pertanto è necessaria una discussione approfondita su tutti gli argomenti a favore e contro prima del voto.
Fonte: opennet.ru
