#use wml::debian::template title="Debian GNU/Hurd – Développement" NOHEADER="yes" #include "$(ENGLISHDIR)/ports/hurd/menu.inc" #use wml::debian::translation-check translation="1ee233788cf476e1bd555018a37476e483d815f4" maintainer="Jean-Paul Guillonneau" # Translators: # Mohammed Adnène Trojette 2005-2007. # David Prévot, 2010-2013. # Jean-Paul Guillonneau, 2016-2020

Debian GNU/Hurd

Développement de la distribution

Porter des paquets Debian

Si vous souhaitez aider le portage Debian GNU/Hurd, vous devriez vous familiariser avec le système d'empaquetage de Debian. Une fois que vous l'aurez fait en lisant la documentation disponible et en visitant le Coin du développeur, vous devriez savoir comment extraire les paquets source Debian et empaqueter un paquet Debian. Voici un cours intensif pour les personnes très paresseuses :

Obtenir le source et empaqueter des paquets

Le code source peut être obtenu en exécutant simplement apt source paquet, ce qui extrait aussi les sources.

Extraire un paquet source Debian nécessite le fichier paquet_version.dsc et les fichiers qui y sont listés. Vous créez le répertoire d'empaquetage Debian avec la commande dpkg-source -x paquet_version.dsc.

La construction du paquet se fait dans le nouveau répertoire d'empaquetage Debian paquet-version avec la commande dpkg-buildpackage -B "-mMonNom <MonAdresseÉlectronique>". Vous pouvez utiliser -b au lieu de -B si vous voulez aussi compiler les parties indépendantes de l'architecture du paquet. Vous pouvez ajouter -uc pour éviter de signer le paquet avec votre clef GPG.

La construction pourrait nécessiter d’installer des paquets supplémentaires. Le plus simple est d’exécuter apt build-dep paquet qui installera tous les paquets nécessaires.

Utiliser pbuilder peut être pratique. Il peut être construit avec sudo pbuilder create --mirror http://deb.debian.org/debian-ports/ --debootstrapopts --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg --debootstrapopts --extra-suites=unreleased --extrapackages debian-ports-archive-keyring, et pdebuild -- --binary-arch peut être utilisé et gérera le téléchargement des dépendances de construction, etc, et mettra le résultat dans /var/cache/pbuilder/result.

Choisissez un paquet

Sur quels paquets faut-il travailler ? À vrai dire, tous les paquets qui ne sont pas encore portés, mais qui nécessitent de l’être. Cela change constamment, alors il est conseillé de se focaliser d'abord sur les paquets ayant beaucoup de dépendances inverses, qui sont visibles sur le graphique de dépendance des paquets mis à jour quotidiennement ou sur la liste des paquets les plus demandés (c'est la liste des demandes à long terme, la liste des demandes à court terme est ). C'est généralement une bonne idée aussi d'en prendre parmi la liste des paquets périmés et , car ils ont fonctionné et qu'ils ne sont probablement cassés qu'à cause d'un petit nombre de raisons. Vous pouvez aussi en prendre un au hasard parmi les paquets manquants, surveiller les journaux des processus d'empaquetage automatique sur la liste de diffusion debian-hurd-build-logs ou utiliser la liste de wanna-build en . Quelques problèmes de construction sont plus faciles à résoudre que d’autres, classiquement, «·undefined reference to foo·», ou foo consiste en quelque chose comme pthread_create, dlopen, cos…, (qui sont bien évidemment présents dans hurd-i386), qui montre que l’étape de configuration du paquet a aussi oublié d’inclure -lpthread, -ldl, -lm, etc., sur le Hurd. Notez que les fonctions ALSA MIDI ne sont pas disponibles.

Vérifiez également si le travail a déjà été fait sur , , sur le BTS (), et l'état en temps réel des paquets sur buildd.debian.org, par exemple .

Paquets qui ne seront pas portés

Quelques paquets parmi ceux qui suivent, ou des parties de ces paquets, seront peut-être portables plus tard, mais ils sont actuellement au moins considérés comme non portables. Ils sont normalement marqués NotForUs dans la base de données de buildd.

Problèmes généraux de portage

Une liste des problèmes courants est disponible sur le site amont. Les problèmes courants suivants sont spécifiques à Debian.

Avant d'essayer de corriger quoi que ce soit, vérifiez si le portage kfreebsd* n'a pas déjà préparé des correctifs, qui demandent juste à être adaptés pour convenir aussi à hurd-i386.