Espera, o que é Eudev e como ele nasceu?
Em 2012, o time responsável pelo systemd
assumiu a liderança do udev
, o serviço responsável pelo gerenciamento da pasta /dev
e suas permissões, e integrou o mesmo ao repositório de código fonte do projeto.
Isso criou um receio entre a comunidade do Gentoo. Vários aplicativos dependem do udev
para reconhecer e categorizar dispositivos – de jogos para reconhecer joysticks até desktop environments para montar pendrives – e o systemd
tinha um histórico de criar vínculos fortes com os projetos que são mantidos em conjunto com o mesmo ao ponto de não funcionarem mais sem o PID1 do systemd (logind
, por exemplo, que levou à criação do elogind
que é usado no, por exemplo, no Artix). Decidiu-se por fazer um fork do projeto chamado eudev
.
Conforme os anos foram passando, o udev
continuou funcionando bem sem systemd (apesar de inconveniente de ser compilado separadamente), então o foco do eudev passou a ser o suporte a ambientes Linux mais “exóticos” (kernels mais antigos, bibliotecas-base do sistema alternativas, etc.).
Como morreu?
Outro projeto, o OpenEmbedded, surgiu com um foco parecido com o do eudev
atual (fazer programas funcionarem em Linux “exótico”). Porém, abrangia mais programas além do udev
e tinha muito mais patrocinadores, alguns deles inclusive comerciais.
Vendo o trabalho duplicado num projeto tão complexo como o eudev
, em 20 de agosto de 2021, o então líder, “blueness”, anunciou o encerramento do projeto.
Reação das distribuições
Reusar o Udev do Systemd
A reação mais comum foi engolir as inconveniências de compilar o udev
sem systemd
e disponibilizar o pacote. Em distribuições “exóticas”, reutilizaram-se as mudanças feitas pelo OpenEmbedded.
Foi a solução usada no Artix (apesar do pacote continuar sendo chamado eudev
– muitos usuários de Artix que eu conheço nem notaram a mudança) e no Gentoo (que sempre disponibilizou o udev
direto do código fonte do systemd como opção, o pacote do eudev
apenas foi marcado como obsoleto).
libudev-zero
É um projeto busca refazer a biblioteca que os aplicativos utilizam para se comunicar com o udev
(e eudev
) de modo que possam reconhecer dispositivos sem nem mesmo precisar de um equivalente do udev
instalado e rodando, favorecendo uma base do sistema mais minimalista. Programas que fazem um uso relativamente simples dessa biblioteca funcionam inclusive sem recompilar.
Essa foi a solução usada em algumas distribuições Linux para roteadores e por distros que buscam adaptar a base tipicamente usada nelas para o desktop (como KISS Linux e Alpine).
O grande porém é que nem todos os aplicativos funcionam com a libudev-zero
. O README inclui alguns exemplos, entre os quais figuram, infelizmente, muitos programas que fazem parte de uma boa experiência no desktop como Bluetooth, LVM2, PulseAudio e Pipewire. Para fazê-los funcionar, é necessário mudança no código fonte ou nas chaves de compilação.
Retomada do Eudev
Em 14 de setembro de 2021, foi anunciada a retomada do projeto por uma coligação de desenvolvedores do Devuan, Alpine e Gentoo.
Futuro
Resta saber que destino aguarda o eudev
, ainda mais com a competição adicional da libudev-zero
que certamente vai chamar a atenção de distros Linux que prezam por um minimalismo debaixo do capô e eram o público-alvo original do eudev.
Sim, se você usa uma distribuição Linux “normal”, os últimos 13 parágrafos não mudam em absolutamente nada nem sua vida, nem o uso de seu computador.