Freigeben über


vcpkg PR Prüfliste

Revision: 1

Überblick

Dieses Dokument enthält eine kommentierte Checkliste, die vcpkg-Teammitglieder verwenden, um die Bezeichnung "überprüft" auf eingehende Pullanforderungen anzuwenden. Wenn eine Pull-Anforderung gegen einen dieser Punkte verstößt, bitten wir Mitwirkender, erforderliche Änderungen vorzunehmen, bevor wir das Changeset zusammenführen können.

Sie können ein Problem oder eine Pullanforderung erstellen, wenn Sie der Meinung sind, dass diese Checkliste verbessert werden kann. Erhöhen Sie die Revisionsnummer beim Ändern des Checklisteninhalts.

Checkliste

Sie können eines dieser Checklistenelemente in einem GitHub-Kommentar verknüpfen, indem Sie die Linkadresse kopieren, die jedem Elementcode zugeordnet ist.

c000001: Es werden keine veralteten Hilfsfunktionen verwendet.

Weitere Informationen finden Sie in unseren Betreuerrichtlinien und Richtlinien .

c000002: Das Feld "Portversion"" wird aktualisiert.

Weitere Informationen finden Sie in unseren Betreuerrichtlinien und Richtlinien .

c000003: Neue Ports enthalten ein feld "description", das in Englisch geschrieben wurde.

Eine Beschreibung ist nur ein oder ein paar Sätze lang hilfreich. Erwägen Sie ggf. die Verwendung der offiziellen Beschreibung der Bibliothek aus ihrer README.md oder ähnlichen Beschreibung. Automatische Übersetzungen sind akzeptabel und wir sauber Übersetzungen für unsere Mitwirkender gerne auf Englisch.

Weitere Informationen finden Sie in unserer Manifestdateidokumentation .

c000004: Im Changeset sind keine unnötigen Kommentare vorhanden.

Weitere Informationen finden Sie in unseren Betreuerrichtlinien und Richtlinien .

c000005: Heruntergeladene Archive sind versionsiert, wenn verfügbar, um sicherzustellen, dass archivierte Inhalte nicht geändert werden, haben die heruntergeladenen Archive vorzugsweise ein zugeordnetes Versionstag, das zusammen mit den Porten "version"inkrementiert werden kann.

c000006: Neue Ports bestehen CI-Prüfungen auf Triplets, die die Bibliothek offiziell unterstützt

Um sicherzustellen, dass vcpkg-Ports von hoher Qualität sind, stellen wir ihnen vor, dass eingehende Ports die offiziellen Plattformen für die betreffende Bibliothek unterstützen.

c000007: Patches beheben Probleme, die nur vcpkg-spezifisch sind

Falls möglich, sollten Patches für den Quellcode der Bibliothek dem offiziellen Repository der Bibliothek vorgelagert werden. Wenn Sie eine Pull-Anforderung im Repository der Bibliothek öffnen, können Sie die Bibliothek für jeden verbessern, nicht nur für vcpkg-Benutzer.

c000008: Neue Ports laden quellcode aus der offiziellen Quelle herunter, falls verfügbar

Um Bibliotheksautoren zu respektieren und Code sicher zu halten, müssen Sie ports quellcode aus der offiziellen Quelle herunterladen. Wir können Ausnahmen machen, wenn der ursprüngliche Quellcode nicht verfügbar ist und ein erhebliches Interesse an der Standard betreffenden Bibliothek besteht.

c000009: Ports und Portfeatures werden ordnungsgemäß benannt.

Für die Barrierefreiheit der Benutzer bevorzugen wir Namen von Ports und Portfunktionen, um intuitiv und in der Nähe ihrer Entsprechungen in offiziellen Quellen und anderen Paketmanagern zu sein. Wenn Sie sich nicht über die Benennung eines Port- oder Portfeatures sicher sind, empfehlen wir, repology.org, packages.ubuntu.com oder nach zusätzlichen Informationen mithilfe einer Suchmaschine zu suchen. Wir können auch unseren Mitwirkender dabei helfen, also können Sie sich gerne um Benennungsvorschläge bitten, wenn Sie sich nicht sicher sind.

c000010: Bibliotheksziele werden bei Bedarf exportiert

Um Benutzern eine nahtlose Integration des Buildsystems zu ermöglichen, müssen Sie unbedingt exportieren und ein Mittel zur Suche nach den Bibliothekszielen bereitstellen, die nachgelagert verwendet werden sollen. Ziele, die nicht exportiert werden sollen, sollten als privat gekennzeichnet und nicht exportiert werden.

c000011: Ports verwenden keine Anwendungen, die das System des Benutzers ändern

Ports sollten den vcpkg-Vertrag wahren, das System des Benutzers nicht zu ändern, indem Anwendungen vermieden werden, die dies tun. Beispiele für diese Anwendungen sind sudo, , apt, brewoder pip. Bitte verwenden Sie eine Alternative zu diesen Arten von Programmen, wenn möglich.

c000012: Ports mit Systemabhängigkeiten enthalten eine Informationsmeldung während der Installation.

Einige Ports verfügen über Bibliotheks- und Toolabhängigkeiten, die nicht in vcpkg vorhanden sind. Für diese fehlenden Abhängigkeiten bitten wir, dass Mitwirkender oben im Port portfile.cmake eine Meldung hinzufügen, die die fehlenden Abhängigkeiten angibt und wie sie erworben werden. Wir fragen, dass die Meldung angezeigt wird, bevor wichtige Arbeiten durchgeführt werden, um sicherzustellen, dass Benutzer den Installationsprozess so schnell wie möglich "frühzeitig" ausführen können, falls die Abhängigkeit fehlt.

Beispiel:

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: Manifestdateien werden anstelle von CONTROL-Dateien für neue Ports verwendet.

Viele vorhandene Ports verwenden die CONTROL-Dateisyntax; Obwohl diese Syntax einige Zeit unterstützt wird, sollten diese neuen Ports nicht verwendet werden. Jeder neu hinzugefügte Port muss die Manifestdateien verwenden.

Außerdem wird empfohlen, dass bei erheblichen Änderungen an Ports eine Option zu Manifestdateien wechselt; Dies ist jedoch nicht erforderlich. Möglicherweise finden vcpkg format-manifest Sie nützlich.