L'arborescence des ports est un dispositif conséquent qui permet aux utilisateurs d'OpenBSD d'utiliser des applications tierces sans perdre du temps à appliquer des correctifs, configurer ces applications et les installer séparement. Tout ce travail est effectué par un groupe de volontaires qui passent leur temps à porter et à tester des applications sur les différentes plates-formes supportées par OpenBSD. Beaucoup de gens pensent qu'ils ne peuvent pas contribuer à ce processus car ils n'ont pas les connaissances suffisantes; c'est faux car ils peuvent toujours aider les responsables de ports à travailler mieux et plus vite.
Tester les nouveautés ou les nouveaux ports soumis sur la liste de diffusion des ports. En faisant cela, vous réduisez la latence des changements effectués et vous augmentez également le nombre de ports qui vont être rajoutés (beaucoup de ports ne sont pas rajoutés car ils ne sont pas assez testés !).
L'arborescence des ports est developpée pour OpenBSD-current; il n'y a aucune garantie que les nouveaux ports ou mises à jour fonctionneront correctement sur les autres branches. Cela signifie également que vous devez mettre à jour votre système ainsi que l'arborescence des ports en -current (des instructions pour savoir comment faire peuvent être trouvées dans les pages anoncvs et Suivre la branche current). Il est également recommandé de vous abonner aux listes de diffusion ports et ports-changes. De cette façon vous serez averti des nouveaux ports ou des ports mis à jour ainsi que des changements effectués dans l'arborescence des ports.
Il y a deux types de soumission dans les listes de diffusion; les nouveaux ports et les mises à jour. Les nouveux ports sont généralement postés comme pièces jointes ou des URLs. Le plus facile est d'extraire les ports dans le répertoire /usr/ports/mystuff/ et de les tester là. Les mises à jour sont habituellement des changements effectués dans l'arborescence -current des ports, le mieux est donc de copier le port dans mystuff/ et d'appliquer les changements afin d'éviter tous problèmes dans l'arborescence des ports.
La conception pas-à-pas de ports est indispensable afin de vérifier que chaque étape, voir ports(7), est accomplie correctement :
Les fichiers restant dans pkg/ comme DESCR et MESSAGE doivent être vérifiés au niveau de la grammaire et de l'orthographe. Les paragraphes doivent être formattés en utilisant fmt(1) et limités à 70 caractères.
Une fois les tests terminés vient la chose la plus importante : les commentaires. Même si le port fonctionne parfaitement, des commentaires doivent être effectués. Si nous avons dix personnes rapportant que le port fonctionne correctement sur plusieurs architectures différentes, son incorporation dans l'arborescence est effectuée plus rapidement. Si il ne fonctionne pas, certaines informations doivent être fournies. Certains outils existent et peuvent vous aider dans cette tâche, comme par exemple portslogger qui est une sorte de "tee intelligent" et redirige les données dans un fichier journal.
Exemple :
# make install 2>&1 | /usr/ports/infrastructure/build/portslogger .
|
Ceci va rediriger les données dans un fichier journal se trouvant dans le répertoire courant.
Finalement, une fois que le port est jugé correct, les ports en dépendant devraient aussi être testés afin de vérifier leur bon fonctionnement. La cible make show-required-by permet d'identifier ces derniers.
Vérifiez le Makefile du port au niveau de l'exactitude des dépendances, des fautes de typographie, des liens incorrects, des variables inutiles ou manquantes, des licences correctes et des catégories. Pour ceux qui possèdent plus de compétences peuvent aider à tester des correctifs, fournir des fichiers diff pour corriger des bogues, rajouter des saveurs ('flavors') au port ou encore d'autres améliorations.
Ces fichiers diff doivent être crées avec les options -uNr --exclude=CVS. cvs diff -uN peut également être employé pour générer des correctifs par rapport dépôt CVS.