diff --git a/HowtoDebian/Packaging.md b/HowtoDebian/Packaging.md index 336fffeb..1fd54fe3 100644 --- a/HowtoDebian/Packaging.md +++ b/HowtoDebian/Packaging.md @@ -101,6 +101,43 @@ $ ar r foo.deb control.tar.gz Et voilà, on a modifié le _preinst_ du paquet _foo.deb_. +## Paquets simplistes pour administrateurs système (`equivs`) + +Certains paquets (généralement non officiels) ont parfois des +dépendances impossibles à satisfaire, ou non nécessaire dans certains +contextes. +[equivs](https://packages.debian.org/sid/equivs) propose une alternative +simple aux paquets Debian pour satisfaire des dépendances (voir plus). + +Par exemple, le paquet `mysql-client` n’est pas présent dans Bullseye, +mais si en paquet en dépend, le fichier suivant permet de créer un +paquet qui fournit `mysql-client` et dépend à la place de +`default-mysql-client`. + +~~~ +$ cat mysql-client.ctl +Package: mysql-client +Depends: default-mysql-client +Version: 8.0 +Description: Workaround MySQL client for Ægir + Current aegir3-cluster-slave package has unfulfillable dependencies on (at + least) Bullseye. +~~~ + +La construction du paquet prend quelques secondes. + +~~~ +$ equivs-build mysql-client.ctl +[…] +dpkg-deb: building package 'mysql-client' in '../mysql-client_8.0_all.deb'. +[…] +The package has been created. +Attention, the package has been created in the current directory, +not in ".." as indicated by the message above! +[…] +# apt install ./mysql-client_8.0_all.deb +~~~ + ## FAQ ### Erreur lintian : mkdir -p failed at /usr/share/perl5/Lintian/Unpacker.pm line 224