Debian retorna à questão do suporte a vários sistemas de inicialização.

Sam Hartman, líder do projeto Debian, tentou 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, bloqueou incluiu o elogind na branch testing, uma vez que este pacote entra em conflito com a libsystemd.

Lembramos que elogind 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 um sistema corrompido 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 proposto 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 várias dezenas de notificações de erros acumuladas no issues do GitHub). A biblioteca CoreJS é muito popular no repositório NPM e tem 26 milhões de downloads por semana. O número de usuários ativos é estimado em 4,5 milhões, e o número de dependências vinculadas ao CoreJS ultrapassa 1033 pacotes que fornecem unidades de serviço para o systemd, mas não incluem scripts init.d. Para resolver esse problema é oferecida é 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 (Debian GNU/Hurd, Debian GNU/NetBSD e Debian GNU/kFreeBSD), mas atualmente não há tais portas no repositório principal e elas não têm status de oficialmente suportadas.

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

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster