Ma page

Cherchant à devenir mainteneur Debian, j'ai tenté de reprendre en main le paquet Debian de distributed-net, un logiciel de calcul distribué, et distributed-net-pproxy, un proxy cache personnel, tout deux précédemment maintenu par Noèl Köthe. Dans la suite je ne parle plus que de distributed-net car tout ce qui sera dit pour distributed-net s'applique également à distributed-net-pproxy.

Le principal problème de ditributed-net est que nous n'avons pas les sources de ce logiciel. Il n'y a donc que les gens de distributed-net qui peuvent compiler ce logiciel pour différents systèmes d'exploitations (OS) et pour différentes architectures (ARCH). Le résultat en est que les numéros de versions ne sont pas les mêmes, à un instant donné, pour les différents couples OS/ARCH. Et cela pose un gros problème pour en faire un paquet Debian. En effet, comment rendre compte que les numéros de versions pour les différentes architectures sont différentes avec un paquet unique n'ayant par conséquent qu'un numéro de version? L'option -v de dpkg-gencontrol? Trop complexe à utiliser, le numéro de version est difficile à récupérer dans les fichier fournis pas distributed-net.

Un solution possible (et celle retenue) est de faire un paquet par architecture. Ainsi, on aurait un ditributed-net-i386, un distributed-net-sparc, etc, avec pour chaque paquet un numéro de version propre. Si une nouvelle version pour Sparc est publiée, il suffira de mettre à jour le paquet distributed-net-sparc et de changer son numéro de version, sans qu'il y ait de conflit avec les autres paquets.

Cependant, quelques problèmes apparaissent. Tout d'abord, pour installer distributed-net, il ne faut plus faire:

apt-get install ditributed-net
mais, par exemple, sur une Sparc:
apt-get install distributed-net-sparc

Une solution possible serait de faire un paquet vide se nommant distributed-net et dépendant (par un OU) de tous les paquets distributed-net spécifique à une architecture. Ainsi, l'installation de ce paquet distributed-net forcera le système à choisir parmi les paquets disponibles pour les différentes architectures, celui qui convient, ou refusera l'installation s'il n'y a pas de paquet distributed-net pour cette architecture. C'est donc un fonctionnement tout à fait correct. Mais quel numéro de version donné à ce paquet?

Le second problème, est liée à la présence de deux scripts (init.d et logrotate) communs à toutes les architectures. La question est où vaut-il mieux les mettre? Dans chaque paquet spécifique à une architecture, et donc multiplier des versions identiques, où dans un paquet unique, par exemple distributed-net-common? Je préfère la dernière solution, même si elle oblige à faire un paquet supplémentaire. Mais encore une fois, quel numéro de version donné à ce paquet? Pourquoi ne pas joindre distributed-net et distributed-net-common? Le premier ne sert qu'a choisir le bon paquet pour la bonne architecture, et peut donc après être désinstaller. On ne peut donc pas mettre les scripts dedans.

Un dernier problème, vient du faite que le découpage en architecture de Debian ne coïncide pas exactement avec celui de distributed-net! Ainsi, il y deux version disponible pour alpha et 3 pour s390/z390. N'étant pas spécialiste, je ne sais pas comment procéder ici. Par exemple, pour alpha, faire un alpha-ev4 et un alpha-ev5, et laissé le système de paquet dire à l'administrateur qu'il y a deux candidats à l'installation, et qu'il doit en choisir un des deux. Il faut donc faire en sorte que les deux paquets alpha s'excluent mutuellement.

Pour l'instant, vous pouvez tester mon travail ici:
http://l.leguyader.free.fr/distributed-net/
Ou bien en rajoutant ceci à votre /etc/apt/source.list:
deb http://l.leguyader.free.fr distributed-net/
deb-src http://l.leguyader.free.fr distributed-net/
Merci de l'aide toute aide que vous pourriez m'apporter.

Pour toutes remarques, contactez-moi par courriel à l.leguyader@free.fr,
ou grace à mon JabberID loico@jabber.org Jabber indicator