J’ai décidé, il y a de cela plusieurs semaines, de migrer de Devuan ASCII vers Devuan Beowulf. J’ai toujours fait le choix de prendre des versions testing de Debian-Devuan sur mes machines de bureau. Cela me permet de conserver tous les atouts de cette distribution en ayant un système semi-rolling release.

Alors que je n’avais eu aucun souci depuis 2 ans avec la version testing de Devuan, la mise à jour vers Beowulf m’a généré un petit crash en bonne et due forme. J’ai pu finalisé l’installation après quelques réinstallations de paquets à la miminne via une clef USB (apt-get me générait un gros fail). Hormis cet incident, le passage à la nouvelle version testing semblait s’être bien passée. Je constatais quand même un bug avec XFCE. Je n’avais plus du tout accès aux boutons Redémarrer-Arrêter-Suspendre.

Mes recherches sur le web faisaient apparaître un problème de permission entre mon Display Manager (LightDM-Greeter) et PolicyKit (qui dépend lui même de ConsoleKit, dbus et systemd). Je suis donc allé sur le forum de Devuan et je suis tombé sur cet excellent topic :

On y apprend que lorsque l’on migre de ascii à testing, les paquets de substitutions à systemd reposant sur elogind sont absents. Il est donc indispensable de les conserver depuis la version stable et de mettre en place des priorités via les apt-pinning afin que certaines librairies liées à elogind ne soient pas mises à jour.

tom@bombadil:~$ sudo nano /etc/apt/sources.list
# On rajoute les dépots de la Devuan stable temporairement pour installer elogind
deb http://fr.mirror.devuan.org/merged/ stable main contrib non-free
deb-src http://fr.mirror.devuan.org/merged/ stable main contrib non-free 

# Dépôts de la version testing de Devuan
deb http://fr.mirror.devuan.org/merged/ beowulf main contrib non-free
deb-src http://fr.mirror.devuan.org/merged/ beowulf main contrib non-free 

# beowulf-security, previously known as 'volatile'
deb http://fr.mirror.devuan.org/merged/ beowulf-security main contrib non-free
deb-src http://fr.mirror.devuan.org/merged/ beowulf-security main contrib non-free

# beowulf-updates, previously known as 'volatile'
deb http://fr.mirror.devuan.org/merged/ beowulf-updates main contrib non-free
deb-src http://fr.mirror.devuan.org/merged/ beowulf-updates main contrib non-free

# backports
deb http://fr.mirror.devuan.org/merged/ beowulf-proposed-updates main contrib non-free
deb-src http://fr.mirror.devuan.org/merged/  beowulf-proposed-updates main contrib non-free

On crée maintenant un fichier permettant de définir des priorités afin que certains paquets liés à elogind ne soient pas upgradés via les dépots testing.

tom@bombadil:~$ sudo nano /etc/apt/preferences.d/avoid-systemd
Package: policykit-1
Pin: release a=beowulf
Pin-Priority: -1

Package: libpolkit-agent-1-0
Pin: release a=beowulf
Pin-Priority: -1 

Package: libpolkit-backend-1-0
Pin: release a=beowulf
Pin-Priority: -1

Package: libpolkit-gobject-1-0
Pin: release a=beowulf
Pin-Priority: -1

Nous pouvons maintenant réinstaller elogind et l’ensemble de ses dépendances via apt, apt-get ou aptitude.

tom@bombadil:~$ sudo aptitude install -t stable elogind eudev libpam-elogind libelogind0 libeudev1 libpolkit-backend-elogind-1-0 libpolkit-gobject-elogind-1-0

Vous pouvez maintenant commenter ou supprimer les lignes concernant la version stable de Devuan présents dans /etc/apt/sources.list. Puis il est nécessaire de modifier le fichier /etc/pam.d/lightdm-greeter afin de préciser que l’on utilise elogind et non pas systemd (http://dev1galaxy.org/viewtopic.php?id=2282).

tom@bombadil:~$ sudo nano /etc/pam.d/lightdm-greeter
#session  optional pam_systemd.so
session   optional pam_elogind.so

Je me retrouve maintenant avec une Devuan Beowulf totalement fonctionnelle et un XFCE qui tourne bien. Il me reste encore quelques points à creuser notamment sur la possibilité d’installer un applet XFCE pour ALSA (oui je ne veux pas de pulseaudio, comprenne qui voudra). Malheureusement, les seuls applets Son disponibles sur XFCE 4.12 fonctionnent uniquement avec pulse audio. Si vous avez des tuyaux, je suis preneur.

:D