Sam Hartman, líder do projeto Debian, investiga as divergências relacionadas à inclusão do pacote elogind na distribuição. Em julho, a equipe responsável pela preparação dos lançamentos, incluiu o elogind na branch testing, uma vez que este pacote entra em conflito com a libsystemd.
Lembramos que fornece interfaces necessárias para que o GNOME funcione sem a instalação do systemd. O projeto foi criado como um desdobramento do systemd-logind, transferido para um pacote separado e livre de dependências do systemd. O elogind também oferece sua própria versão da biblioteca libelogind, que assume várias funções oferecidas pela libsystemd e a substitui durante a instalação.
Como razões para o bloqueio, foi mencionado o conflito com o pacote systemd e o risco de substituir a libsystemd por uma alternativa incompatível, a libelogind, em nível ABI.
O pacote elogind é marcado como conflituoso com as bibliotecas do systemd, mas ele, por sua essência, foi concebido para funcionar apenas sem o systemd e o conflito com o systemd na verdade é benéfico, pois evita a instalação inadvertida do elogind. Por outro lado, na sua forma atual, tentativas de atualizar a configuração de systemd para uma alternativa com sysvinit e elogind através do APT resultam em sem APT funcionando. Mas mesmo após a correção desse problema, a transição do systemd para o elogind continua sendo impossível sem a remoção de ambientes de usuário já instalados.
Os desenvolvedores do elogind foram desafiados a adaptar o elogind para funcionar sobre o libpam-systemd padrão, sem usar sua própria camada libpam-elogind. A transição do elogind para o libpam-systemd é dificultada pela falta de suporte à noção de slices, mas os desenvolvedores do elogind não estão dispostos a alcançar conformidade total com a API e replicar todas as funcionalidades do systemd, uma vez que o elogind oferece apenas funcionalidade mínima para a organização do login de usuários e não visa duplicar todos os subsistemas do systemd.
A resolução dos problemas técnicos descritos deve ser tratada ao nível da interação entre a equipe de lançamento e os mantenedores do elogind e systemd, mas o líder do projeto teve que intervir, pois as equipes não conseguiram chegar a um acordo. O trabalho conjunto se transformou em um confronto e a solução para o problema entrou em um impasse, onde cada parte tem sua razão. Na opinião de Sam Hartman, a situação está se aproximando de um estado que requer uma votação geral (GR, general resolution), onde a comunidade decidirá sobre sistemas alternativos de inicialização e o suporte ao sysvinit com elogind.
Se os participantes do projeto votarem a favor da diversificação dos sistemas de inicialização, todos os mantenedores se envolverão no trabalho conjunto para resolver essa tarefa ou serão nomeados desenvolvedores responsáveis especiais para trabalhar nesse problema, e aqueles que acompanham não poderão mais ignorar o sistema alternativo de inicialização, permanecer em silêncio ou atrasar o processo.
Atualmente, já existem no repositório 1033 pacotes que fornecem unidades de serviço para o systemd, mas não incluem scripts init.d. Para resolver esse problema é necessário fornecer arquivos de serviço por padrão, mas preparar um manipulador que automaticamente analise os comandos desses arquivos e gere scripts init.d com base neles.
Se a comunidade decidir que o Debian é suficiente com o suporte a um sistema de inicialização, não será mais necessário se preocupar com o sysvinit e o elogind, concentrando-se apenas nos arquivos unit e no systemd. Essa decisão pode afetar negativamente as portas que não utilizam o kernel Linux (, e ), mas atualmente não há tais portas no repositório principal e elas não têm status de .
A dependência do systemd também dificultará significativamente a mudança de direção do desenvolvimento da distribuição no futuro e limitará a realização de novos experimentos em inicialização e gerenciamento de serviços. É muito mais fácil manter o elogind funcionando do que removê-lo e depois tentar adicioná-lo novamente. Cada opção de solução tem seus prós e contras, portanto, antes da votação, será necessário discutir amplamente todos os argumentos a favor e contra.
Fonte: opennet.ru
