Source Git
source-git è l’attuale nome in codice di un’attività che copre molteplici aree: l’automazione e il miglioramento del packaging, la stabilizzazione di Rawhide e l’avvicinamento dei progetti upstream a Fedora. Nel nostro mondo, un source-git è un repository contenente i sorgenti upstream e le ricette di build per Fedora (file spec, patch downstream come commit aggiuntivi). Il repository contiene branch git che tracciano le rispettive versioni di Fedora. Idealmente, il source-git coincide con il repository upstream.
Dichiarazione di intenti
Puntiamo a quattro obiettivi:
-
Avvicinare i progetti upstream a Fedora.
-
Migliorare la stabilità di Fedora Rawhide.
-
Migliorare la stabilità di Fedora Rawhide.
-
Automatizzare il pull dei nuovi rilasci upstream in Fedora.
Sei interessato? Continua a leggere!
Cosa e perché?
-
Il nostro intento è quello di avvicinare le comunità downstream e upstream: fornire feedback da downstream a upstream (es. "Ciao <progetto upstream Y>, il vostro ultimo rilascio non funziona in Fedora Rawhide, interrompe il funzionamento di <Z>, ecco un link ai log."). Tutto questo può essere automatizzato.
-
Una delle implicazioni è che diventa banale proporre modifiche a monte (upstream) o fare il cherry-pick di correzioni da upstream a downstream.
-
La stabilità di Fedora Rawhide è ora all’ordine del giorno: unire, compilare e comporre solo componenti che si integrano bene con il resto del sistema operativo. Basta con build di composizione corrotte o aggiornamenti che interrompono il funzionamento del resto del sistema operativo.
-
Sviluppare in dist-git è macchinoso. Modificare file di patch e spostare continuamente archivi tarball non è divertente. Perché non lavorare direttamente con il codice sorgente? Con il source-git, avrai a disposizione un repository upstream con il contenuto di dist-git inserito in una directory dedicata.
-
Utilizziamo tecniche di sviluppo moderne come le pull request, la code review, le moderne piattaforme git, l’automazione e la continuous integration. Abbiamo i computer per svolgere tutti i compiti banali. Perché noi, in quanto esseri umani, dovremmo fare un simile lavoro?
-
Vogliamo che dist-git sia "un database del contenuto di una release" piuttosto che un luogo in cui svolgere il lavoro vero e proprio. D’altra parte, potrai comunque interagire con dist-git allo stesso modo. Non ti priveremo di questo. Il source-git vuole essere l’alternativa moderna e migliore.
-
Scaricare e convalidare automaticamente i nuovi rilasci upstream. Questa può essere un’operazione banale, perché i manutentori dovrebbero sprecare il proprio tempo in un lavoro che può essere automatizzato.
Stato attuale
Al momento puntiamo a un proof of concept. Una volta completato, creeremo una demo e la presenteremo alla DevConf.cz.
Sappiamo che questa pagina è piuttosto concisa. Non appena avremo maggiori informazioni da condividere (specialmente quando il PoC sarà completato), aggiorneremo questa pagina wiki. Nel frattempo, vi invitiamo a consultare la repository GitHub per informazioni sempre aggiornate.
Want to help? Learn how to contribute to Fedora Docs ›