On savait déjà que Ubuntu, c'était de la merde, et que OpenBSD, de la merde en boîte. Mais là, j'en reste sur le cul. Déjà, prenons la température de la mentalité : un bug qui fait planter en console n'importe quelle appli, y compris en train d'éditer des données, survient dès que l'on appuie que "impr écran". En effet, la mauvaise idée a été de lier cette touche à l'envoie d'une séquence commençant par ctrl-\, ce qui envoie dans bien des shells le signal SIGKILL. Forcément, y'a du dommage collatéral au passage. Non seulement un bug pareil est inacceptable, mais la communauté pinaille sur sa gravité, puisqu'on ne perd pas forcément de données (suffit de ne pas en avoir édité, la bonne blague).

Et donc, disais-je, j'hallucine en ce moment. Je construis un package maison pour "nuauth" (le serveur d'authentification du pare-feu nufw, oui je sais pas ce que je fais sur ce proj...), et en l'occurrence j'ai installé la version de base (qui date d'il y a des temps immémoriaux) et je voudrais la remplacer sur mon système par la nouvelle version (bien plus récente). J'essaie : échec. Je décide donc de d'abord désinstaller la version actuelle : échec.

Stopping nuauth: invoke-rc.d: initscript nuauth, action "stop" failed.
dpkg : erreur de traitement de nuauth (--remove) :
 le sous-processus pre-removal script a retourné une erreur de sortie d'état 1
Starting nuauth: nuauth.
Des erreurs ont été rencontrées pendant l'exécution :
 nuauth
E: Sub-process /usr/bin/dpkg returned an error code (1)

J'ai déjà compris avec Nufw, installé juste avant avec un fichier de conf défectueux que les paquets Debian, ça pue, et le gestionnaire apt-get aussi. Mais là, ça enchaîne : si le paquet ne peut pas être désinstallé, c'est que dans le script de désinstall prerm, il y a :

/etc/init.d/nuauth stop || exit $?

Or, stop ne marche pas, puisque nuauth n'est pas démarrer. Il faut donc le lancer pour le désinstaller. OK... Je lance : ça marche pas ! Et pourquoi ça ? Parce que le fichier de conf a la polio, un module refuse de se lancer, en fait il faut mettre le module de log à "syslog" et non "" (oui, le prog bien pourri, il cherche un plugin dont le nom est vide, forcément ça se passe mal). Une fois que c'est fait, je ressaie : échec, mais cette fois-ci parce que le fichier de conf a été modifié extérieurement et mystérieusement, pour reprendre sa valeur fautive par défaut. Je rechange : échec ! Et oui, j'avais oublié de redémarrer le service...

Redémarrage avec le bon fichier de conf (qui sera lui aussi viré lors de la désinstallation, évidemment) :

Suppression de nuauth ...
Stopping nuauth: nuauth.

Et voilà... Moralité : installez une OpenSUSE (c'est bon, impr écran ne kille pas vos applis, j'ai vérifié...).