Udostępnij za pośrednictwem


lista kontrolna przeglądu żądania ściągnięcia vcpkg

Poprawka: 1

Omówienie

Ten dokument zawiera listę kontrolną z adnotacjami, której członkowie zespołu vcpkg używają do stosowania etykiety "przejrzanej" na przychodzących żądaniach ściągnięcia. Jeśli żądanie ściągnięcia narusza dowolny z tych punktów, możemy poprosić współautorów o wprowadzenie niezbędnych zmian, zanim będziemy mogli scalić zestaw zmian.

Jeśli uważasz, że ta lista kontrolna może zostać ulepszona, możesz utworzyć problem lub żądanie ściągnięcia. Zwiększ numer poprawki podczas modyfikowania zawartości listy kontrolnej.

Lista kontrolna

Możesz połączyć dowolne z tych elementów listy kontrolnej w komentarzu usługi GitHub, kopiując adres linku dołączony do każdego kodu elementu.

c000001: Nie są używane żadne przestarzałe funkcje pomocnika

Aby uzyskać więcej informacji, zobacz nasze wytyczne i zasady dotyczące konserwacji.

c000002: pole "port-version" zostało zaktualizowane

Aby uzyskać więcej informacji, zobacz nasze wytyczne i zasady dotyczące konserwacji.

c000003: Nowe porty zawierają pole "description" napisane w języku angielskim

Opis tylko jeden lub kilka zdań jest przydatny. Rozważ użycie oficjalnego opisu biblioteki z ich README.md lub podobnych, jeśli to możliwe. Tłumaczenia automatyczne są akceptowalne i z przyjemnością usuwamy tłumaczenia do języka angielskiego dla naszych współautorów.

Aby uzyskać więcej informacji, zobacz dokumentację pliku manifestu.

c000004: Brak niepotrzebnych komentarzy w zestawie zmian

Aby uzyskać więcej informacji, zobacz nasze wytyczne i zasady dotyczące konserwacji.

c000005: Pobrane archiwa są wersjonowane, jeśli są dostępneW celu zapewnienia, że zawartość archiwum nie ulegnie zmianie, pobrane archiwa najlepiej mają skojarzony tag wersji, który można zwiększać wraz z portem "version".

c000006: Nowe porty przechodzą testy ciągłej integracji dla trypletów obsługiwanych oficjalnie przez bibliotekę

Aby zapewnić wysoką jakość portów vcpkg, prosimy o obsługę oficjalnych platform dla danej biblioteki przez porty przychodzące.

c000007: Poprawki naprawiają tylko problemy specyficzne dla programu vcpkg

Jeśli to możliwe, poprawki do kodu źródłowego biblioteki powinny być nadrzędne do oficjalnego repozytorium biblioteki. Otwarcie żądania ściągnięcia w repozytorium biblioteki pomoże ulepszyć bibliotekę dla wszystkich użytkowników, a nie tylko użytkowników programu vcpkg.

c000008: Nowe porty pobierają kod źródłowy z oficjalnego źródła, jeśli są dostępne

Aby szanować autorów bibliotek i zachować bezpieczeństwo kodu, porty pobierają kod źródłowy z oficjalnego źródła. Możemy wprowadzić wyjątki, jeśli oryginalny kod źródłowy jest niedostępny i istnieje znaczne zainteresowanie społecznością w utrzymaniu danej biblioteki.

c000009: Porty i funkcje portów są poprawnie nazwane

W przypadku ułatwień dostępu użytkowników preferujemy nazwy portów i funkcji portów, które mają być intuicyjne i zbliżone do ich odpowiedników w oficjalnych źródłach i innych menedżerach pakietów. Jeśli nie masz pewności co do nazewnictwa funkcji portu lub portu, zalecamy sprawdzenie repology.org, packages.ubuntu.com lub wyszukanie dodatkowych informacji przy użyciu wyszukiwarki. Możemy również pomóc naszym współautorom w tym, więc możesz poprosić o sugestie nazewnictwa, jeśli nie masz pewności.

c000010: Obiekty docelowe biblioteki są eksportowane, jeśli jest to konieczne

Aby zapewnić użytkownikom bezproblemową integrację systemu kompilacji, pamiętaj o wyeksportowaniu i zapewnieniu sposobu znajdowania docelowych bibliotek przeznaczonych do użycia podrzędnego. Cele, które nie mają być eksportowane, powinny być oznaczone jako prywatne i nie eksportowane.

c000011: Porty nie używają aplikacji modyfikujących system użytkownika

Porty powinny przestrzegać umowy vcpkg nie modyfikując systemu użytkownika, unikając aplikacji, które to robią. Przykłady tych aplikacji to sudo, apt, brewlub pip. W miarę możliwości należy użyć alternatywy dla tych typów programów.

c000012: Porty z zależnościami systemowymi zawierają komunikat informacyjny podczas instalacji

Niektóre porty mają zależności biblioteki i narzędzi, które nie istnieją w programie vcpkg. W przypadku tych brakujących zależności prosimy współautorów o dodanie komunikatu na początku portu portfile.cmake z informacją o brakujących zależności i sposobach ich uzyskania. Prosimy o wyświetlenie komunikatu przed wykonaniem jakiejkolwiek poważnej pracy w celu zapewnienia, że użytkownicy będą mogli "jak najszybciej wyprowadzić" proces instalacji w razie braku zależności.

Przykład:

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: Pliki manifestu są używane zamiast plików CONTROL dla nowych portów

Wiele istniejących portów używa składni pliku CONTROL; chociaż ta składnia będzie obsługiwana przez pewien czas, nowe porty nie powinny ich używać. Każdy nowo dodany port musi używać plików manifestu.

Zalecamy również wprowadzenie istotnych modyfikacji do portów, które przełączają się na pliki manifestu; jednak nie jest to wymagane. Może się okazać vcpkg format-manifest przydatne.