Installation de Retroshare sur Debian Sid

Quand des paquets sont disponibles pour d’anciennes versions ou pour d’autre distribution, il est souvent plus souvent de corriger la liste de dépendance d’un paquet plutôt que de le reconstruire de but en blanc.
Cette technique possède toutefois une contrainte importante, il est possible que les évolutions des dépendances aient des conséquences importantes sur les fonctionnalités de l’application. Néanmoins, pour des utilisations classiques, ou sous réserve de tests complémentaires, le gain de temps est très appréciable.

la démarche est la suivante :

En un, décompresser le paquet debian ainsi que sa liste de contrôle:


dpkg-deb -x retroshare_0.5.5-0.7068~wheezy_amd64.deb dir_tmp
dpkg-deb --control retroshare_0.5.5-0.7068~wheezy_amd64.deb dir_tmp/DEBIAN

Il faut ensuite mettre à jour les dépendances pouvant poser problèmes (nouvelle version disponible, renommage … )

Edition du fichier de contrôle :


vi dir_tmp/DEBIAN/control

Dans le cas de rétroshare,le problème se situe sur la dépendance suivante : libprotobuf7 qui n’est maintenant plus disponible en version testing.


Depends: libbz2-1.0, libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libglib2.0-0 (>= 2.12.0), libgnome-keyring0 (>= 2.22.2), libprotobuf9, libqt4-network (>= 4:4.5.3), libqt4-script (>= 4:4.5.3), libqt4-xml (>= 4:4.5.3), libqtcore4 (>= 4:4.8.0), libqtgui4 (>= 4:4.8.0), libssl1.0.0 (>= 1.0.0), libstdc++6 (>= 4.6), libupnp6 (>= 1:1.6.13), libx11-6, libxss1, zlib1g (>= 1:1.1.4), gnome-keyring

=> Remplacer le libprotobuf7 par libprotobuf9

Il suffit ensuite de reconstruire le paquet via la commande suivante pour avoir un paquet directement installable via les commandes classiques.

Reconstruction du paquet :


dpkg -b dir_tmp retroshare_0.5.5-0.7068~wheezy_amd64.deb

et il est maintenant possible de l’installer.

Ps : Ce post est une adaptation de Install Pencil on Debian qui traite du même problème pour une application différente.

Astuces systèmes

1 Manipulation de fichier.

Travaillant actuellement sous plusieurs système, je me suis retrouvé à avoir des fichiers mal encodés … résultat, dans un même projet, j’avais des fichiers en ISO-XxX et d’autre en UTF-8. Donc pour homogénéiser le tout, le plus simple est d’utiliser la commande Linux suivante :

file nom_du_fichier > Permet de connaître l’encodage utilisé

iconv -f type_initial -t type_voulu nomFichier > nouveauFichier

Et le problème est résolu.