Sdílet prostřednictvím


Kontrolní seznam pro kontrolu žádosti o přijetí změn vcpkg

Revize: 1

Přehled

Tento dokument obsahuje kontrolní seznam s poznámkami, který členové týmu vcpkg používají k použití popisku "zkontrolováno" u příchozích žádostí o přijetí změn. Pokud žádost o přijetí změn porušuje některý z těchto bodů, můžeme před sloučením sady změn požádat přispěvatele, aby provedli potřebné změny.

Pokud máte pocit, že je možné tento kontrolní seznam vylepšit, můžete vytvořit problém nebo žádost o přijetí změn. Při úpravě obsahu kontrolního seznamu navyšte číslo revize.

Kontrolní seznam

Libovolnou z těchto položek kontrolního seznamu v komentáři GitHubu můžete propojit zkopírováním adresy odkazu připojené k kódu každé položky.

c000001: Nepoužívají se žádné zastaralé pomocné funkce.

Další informace najdete v našich pokynech a zásadách údržby.

c000002: Pole port-version se aktualizuje.

Další informace najdete v našich pokynech a zásadách údržby.

c000003: Nové porty obsahují pole "description" napsané v angličtině.

Popis je užitečný jenom pro jednu nebo několik vět. Pokud je to možné, zvažte použití oficiálního popisu knihovny z jejich README.md nebo podobného popisu. Automatické překlady jsou přijatelné a s radostí vyčistíme překlady do angličtiny pro naše přispěvatele.

Další informace najdete v dokumentaci k souboru manifestu.

c000004: V sadě změn nejsou žádné nepotřebné komentáře

Další informace najdete v našich pokynech a zásadách údržby.

c000005: Stažené archivy jsou verze, pokud jsou k dispozici, aby se zajistilo, že se obsah archivu nezmění, archivy stažené nejlépe mají přidruženou značku verze, která se dá zvýšit spolu s portem "version".

c000006: Nové porty předávají kontroly CI pro trojité, které knihovna oficiálně podporuje.

Abychom zajistili, že porty vcpkg mají vysokou kvalitu, žádáme, aby příchozí porty podporovaly oficiální platformy pro danou knihovnu.

c000007: Opravy oprav problémů, které jsou specifické pouze pro vcpkg

Pokud je to možné, měly by být opravy zdrojového kódu knihovny nadřazené do oficiálního úložiště knihovny. Otevření žádosti o přijetí změn v úložišti knihovny pomůže zlepšit knihovnu pro všechny, nejen uživatele vcpkg.

c000008: Nové porty stáhnutí zdrojového kódu z oficiálního zdroje, pokud jsou k dispozici

Pokud chcete respektovat autory knihoven a zachovat zabezpečení kódu, požádejte porty o stažení zdrojového kódu z oficiálního zdroje. Výjimky můžeme provést, pokud původní zdrojový kód není k dispozici a existuje značný zájem komunity o údržbu příslušné knihovny.

c000009: Správně pojmenované porty a funkce portů

Pro usnadnění přístupu uživatelů dáváme přednost názvům portů a funkcí portů, aby byly intuitivní a blízko jejich protějškům v oficiálních zdrojích a dalších správcích balíčků. Pokud si nejste jisti pojmenováním funkce portu nebo portu, doporučujeme zkontrolovat repology.org, packages.ubuntu.com nebo vyhledat další informace pomocí vyhledávacího webu. S tím můžeme také pomoct našim přispěvatelům, takže pokud si nejste jistí, můžete požádat o návrhy pojmenování.

c000010: Cíle knihovny se exportují, pokud je to vhodné

Pokud chcete uživatelům poskytnout bezproblémovou integraci systému sestavení, nezapomeňte exportovat a poskytnout způsob hledání cílů knihovny určených k použití v podřízené oblasti. Cíle, které nemají být exportovány, by měly být označené jako soukromé a neexportované.

c000011: Porty nepoužívají aplikace, které upravují systém uživatele.

Porty by měly zachovat smlouvu vcpkg o tom, že neupraví systém uživatele tím, že se vyhnete aplikacím, které to dělají. Příklady těchto aplikací jsou sudo, apt, brew, nebo pip. Pokud je to možné, použijte alternativu k těmto typům programů.

c000012: Porty se závislostmi systému obsahují informační zprávu během instalace.

Některé porty mají závislosti knihoven a nástrojů, které neexistují v rámci vcpkg. U těchto chybějících závislostí žádáme, aby přispěvatelé přidali zprávu na začátek portu portfile.cmake s informacemi o chybějících závislostech a o tom, jak je získat. Žádáme, aby se zpráva zobrazila před provedením jakékoli hlavní práce, aby uživatelé mohli co nejdříve vyjít z procesu instalace, pokud chybí závislost.

Příklad:

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: Soubory manifestu se používají místo souborů CONTROL pro nové porty.

Mnoho existujících portů používá syntaxi souboru CONTROL; zatímco tato syntaxe bude nějakou dobu podporována, nové porty by je neměly používat. Všechny nově přidané porty musí používat soubory manifestu.

Doporučujeme také, pokud jsou provedeny významné změny portů, že se jeden přepne na soubory manifestu; to však není povinné. Může být vcpkg format-manifest užitečné.