Condividi tramite


Elenco di controllo per la revisione della richiesta pull vcpkg

Revisione: 1

Panoramica

Questo documento fornisce un elenco di controllo con annotazioni usato dai membri del team vcpkg per applicare l'etichetta "esaminata" alle richieste pull in ingresso. Se una richiesta pull viola uno di questi punti, è possibile chiedere ai collaboratori di apportare le modifiche necessarie prima di poter unire il set di modifiche.

È possibile creare un problema o una richiesta pull se si ritiene che questo elenco di controllo possa essere migliorato. Incrementare il numero di revisione quando si modifica il contenuto dell'elenco di controllo.

Elenco di controllo

È possibile collegare uno qualsiasi di questi elementi dell'elenco di controllo in un commento di GitHub copiando l'indirizzo di collegamento associato a ogni codice di elemento.

c000001: non vengono usate funzioni helper deprecate

Per altre informazioni, vedere le linee guida e i criteri del responsabile della manutenzione.

c000002: il campo '"port-version"' viene aggiornato

Per altre informazioni, vedere le linee guida e i criteri del responsabile della manutenzione.

c000003: le nuove porte contengono un campo '"description"' scritto in inglese

Una descrizione è utile solo una o poche frasi. Se possibile, è consigliabile usare la descrizione README.md ufficiale della libreria. Le traduzioni automatiche sono accettabili e siamo lieti di pulire le traduzioni in inglese per i nostri collaboratori.

Per altre informazioni, vedere la documentazione del file manifesto.

c000004: nel set di modifiche non sono presenti commenti non necessari

Per altre informazioni, vedere le linee guida e i criteri del responsabile della manutenzione.

c000005: gli archivi scaricati vengono modificati se disponibiliPer garantire che il contenuto dell'archivio non cambi, gli archivi scaricati hanno preferibilmente un tag di versione associato che può essere incrementato insieme alla porta."version"

c000006: le nuove porte superano i controlli CI per i tripletti supportati ufficialmente dalla libreria

Per garantire che le porte vcpkg siano di alta qualità, chiediamo che le porte in ingresso supportino le piattaforme ufficiali per la libreria in questione.

c000007: correzione di patch che sono solo specifiche di vcpkg

Se possibile, le patch al codice sorgente della libreria devono essere upstream nel repository ufficiale della libreria. L'apertura di una richiesta pull nel repository della libreria consentirà di migliorare la libreria per tutti, non solo gli utenti vcpkg.

c000008: nuove porte scaricano il codice sorgente dall'origine ufficiale, se disponibile

Per rispettare gli autori di librerie e proteggere il codice, fare in modo che le porte scarichino il codice sorgente dall'origine ufficiale. È possibile fare eccezioni se il codice sorgente originale non è disponibile ed esiste un notevole interesse della community nel mantenere la libreria in questione.

c000009: le porte e le funzionalità delle porte sono denominate correttamente

Per l'accessibilità degli utenti, preferiamo che i nomi delle porte e delle funzionalità delle porte siano intuitivi e vicini alle rispettive controparti nelle origini ufficiali e in altri gestori pacchetti. Se non si è certi della denominazione di una porta o di una funzionalità di porta, è consigliabile controllare repology.org, packages.ubuntu.com o cercare informazioni aggiuntive usando un motore di ricerca. Possiamo anche aiutare i nostri collaboratori a farlo, quindi è possibile chiedere suggerimenti di denominazione se non si è certi.

c000010: le destinazioni della libreria vengono esportate quando appropriato

Per fornire agli utenti un'integrazione di sistema di compilazione senza problemi, assicurarsi di esportare e fornire un mezzo per trovare le destinazioni di libreria da usare a valle. Le destinazioni che non devono essere esportate devono essere contrassegnate come private e non esportate.

c000011: le porte non usano applicazioni che modificano il sistema dell'utente

Le porte devono sostenere il contratto di vcpkg di non modificare il sistema dell'utente evitando le applicazioni che lo fanno. Esempi di queste applicazioni sono sudo, apt, brewo pip. Utilizzare un'alternativa a questi tipi di programmi laddove possibile.

c000012: le porte con dipendenze di sistema includono un messaggio informativo durante l'installazione

Alcune porte hanno dipendenze di libreria e strumenti che non esistono all'interno di vcpkg. Per queste dipendenze mancanti, viene chiesto ai collaboratori di aggiungere un messaggio all'inizio portfile.cmake della porta che indica le dipendenze mancanti e come acquisirle. Si chiede che il messaggio venga visualizzato prima di eseguire qualsiasi lavoro importante per assicurarsi che gli utenti possano "uscire in anticipo" dal processo di installazione il prima possibile nel caso in cui non siano presenti le dipendenze.

Esempio:

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: i file manifesto vengono usati invece dei file CONTROL per le nuove porte

Molte porte esistenti usano la sintassi del file CONTROL; mentre questa sintassi sarà supportata per un certo periodo di tempo, le nuove porte non devono usare queste. Qualsiasi porta appena aggiunta deve usare i file manifesto.

È inoltre consigliabile, quando vengono apportate modifiche significative alle porte, che si passa ai file manifesto; tuttavia, questo non è obbligatorio. Può risultare vcpkg format-manifest utile.