Liste de vérification de la demande de tirage vcpkg
Révision : 1
Vue d’ensemble
Ce document fournit une liste de case activée annotée que les membres de l’équipe vcpkg utilisent pour appliquer l’étiquette « révisé » sur les demandes de tirage entrantes. Si une demande de tirage enfreint l’un de ces points, nous pouvons demander contributeur s pour apporter les modifications nécessaires avant de pouvoir fusionner l’ensemble de modifications.
N’hésitez pas à créer un problème ou une demande de tirage si vous pensez que cette liste de case activée peut être améliorée. Incrémentez le numéro de révision lors de la modification du contenu case activée list.
Liste de contrôle
Vous pouvez lier l’un de ces éléments case activée list dans un commentaire GitHub en copiant l’adresse de lien attachée à chaque code d’élément.
c000001 : aucune fonction d’assistance déconseillée n’est utilisée
Pour plus d’informations, consultez nos recommandations et stratégies de maintenance.
c000002 : le champ « port-version » est mis à jour
Pour plus d’informations, consultez nos recommandations et stratégies de maintenance.
c000003 : Les nouveaux ports contiennent un champ « description » écrit en anglais
Une description d’une ou plusieurs phrases longues est utile. Envisagez d’utiliser la description officielle de la bibliothèque à partir de leur README.md
ou similaire si possible. Les traductions automatiques sont acceptables et nous sommes heureux de propre des traductions en anglais pour nos contributeur s.
Pour plus d’informations, consultez notre documentation sur le fichier manifeste.
c000004 : Aucun commentaire inutile n’est présent dans l’ensemble de modifications
Pour plus d’informations, consultez nos recommandations et stratégies de maintenance.
c000005 : Les archives téléchargées sont mises en version si elles sont disponibles
pour s’assurer que le contenu de l’archive"version"
ne change pas, les archives téléchargées ont de préférence une balise de version associée qui peut être incrémentée en même temps que le port.
c000006 : Nouveaux ports passent ci case activée s pour les triplets que la bibliothèque prend officiellement en charge
Pour garantir que les ports vcpkg sont de haute qualité, nous demandons que les ports entrants prennent en charge les plateformes officielles de la bibliothèque en question.
c000007 : Correctifs corrigent les problèmes spécifiques à vcpkg uniquement
Si possible, les correctifs du code source de la bibliothèque doivent être amont au dépôt officiel de la bibliothèque. L’ouverture d’une demande de tirage (pull request) sur le dépôt de la bibliothèque permet d’améliorer la bibliothèque pour tout le monde, pas seulement les utilisateurs vcpkg.
c000008 : Les nouveaux ports téléchargent le code source à partir de la source officielle s’ils sont disponibles
Pour respecter les auteurs de bibliothèque et sécuriser le code, veuillez télécharger le code source à partir de la source officielle. Nous pouvons faire des exceptions si le code source d’origine n’est pas disponible et qu’il y a beaucoup d’intérêt de la communauté à maintenir la bibliothèque en question.
c000009 : Les ports et les fonctionnalités de port sont nommés correctement
Pour l’accessibilité des utilisateurs, nous préférons que les noms des ports et des fonctionnalités de port soient intuitifs et proches de leurs équivalents dans les sources officielles et d’autres gestionnaires de packages. Si vous ne savez pas comment nommer un port ou une fonctionnalité de port, nous vous recommandons de case activée’repology.org, de packages.ubuntu.com ou de rechercher des informations supplémentaires à l’aide d’un moteur de recherche. Nous pouvons également aider nos contributeur avec cela, donc n’hésitez pas à demander des suggestions de nommage si vous n’êtes pas sûr.
c000010 : les cibles de bibliothèque sont exportées le cas échéant
Pour fournir aux utilisateurs une intégration transparente du système de génération, veillez à exporter et à fournir un moyen de trouver les cibles de bibliothèque destinées à être utilisées en aval. Les cibles non destinées à être exportées doivent être marquées comme privées et non exportées.
c000011 : les ports n’utilisent pas d’applications qui modifient le système de l’utilisateur
Les ports doivent respecter le contrat de vcpkg de ne pas modifier le système de l’utilisateur en évitant les applications qui le font. Voici des exemples de ces applications : sudo
, apt
, brew
ou pip
. Utilisez une alternative à ces types de programmes dans la mesure du possible.
c000012 : Les ports avec dépendances système incluent un message d’informations lors de l’installation
Certains ports ont des dépendances de bibliothèque et d’outil qui n’existent pas dans vcpkg. Pour ces dépendances manquantes, nous demandons que contributeur s ajoutez un message en haut des portfile.cmake
dépendances manquantes indiquant les dépendances manquantes et comment les acquérir. Nous demandons que le message s’affiche avant que tout travail majeur soit effectué pour s’assurer que les utilisateurs peuvent « sortir tôt » du processus d’installation dès que possible en cas d’absence de dépendance.
Exemple :
message(
"${PORT} currently requires the following libraries from the system package manager:
autoconf libtool
These can be installed on Ubuntu systems via sudo apt install autoconf libtool"
)
c000013 : Les fichiers manifestes sont utilisés au lieu de fichiers CONTROL pour les nouveaux ports
De nombreux ports existants utilisent la syntaxe du fichier CONTROL ; bien que cette syntaxe soit prise en charge pendant un certain temps, les nouveaux ports ne doivent pas les utiliser. Tout port nouvellement ajouté doit utiliser les fichiers manifestes.
Nous vous recommandons également, lorsque des modifications importantes sont apportées aux ports, qu’un commutateur bascule vers des fichiers manifestes ; toutefois, cela n’est pas obligatoire. Vous pouvez trouver vcpkg format-manifest
utile.