Back to home page

OSCL-LXR

 
 

    


0001 .. include:: ../disclaimer-ita.rst
0002 
0003 :Original: :ref:`Documentation/process/stable-kernel-rules.rst <stable_kernel_rules>`
0004 :Translator: Federico Vaga <federico.vaga@vaga.pv.it>
0005 
0006 .. _it_stable_kernel_rules:
0007 
0008 Tutto quello che volevate sapere sui rilasci -stable di Linux
0009 ==============================================================
0010 
0011 Regole sul tipo di patch che vengono o non vengono accettate nei sorgenti
0012 "-stable":
0013 
0014  - Ovviamente dev'essere corretta e verificata.
0015  - Non dev'essere più grande di 100 righe, incluso il contesto.
0016  - Deve correggere una cosa sola.
0017  - Deve correggere un baco vero che sta disturbando gli utenti (non cose del
0018    tipo "Questo potrebbe essere un problema ...").
0019  - Deve correggere un problema di compilazione (ma non per cose già segnate
0020    con CONFIG_BROKEN), un kernel oops, un blocco, una corruzione di dati,
0021    un vero problema di sicurezza, o problemi del tipo "oh, questo non va bene".
0022    In pratica, qualcosa di critico.
0023  - Problemi importanti riportati dagli utenti di una distribuzione potrebbero
0024    essere considerati se correggono importanti problemi di prestazioni o di
0025    interattività.  Dato che questi problemi non sono così ovvi e la loro
0026    correzione ha un'alta probabilità d'introdurre una regressione, dovrebbero
0027    essere sottomessi solo dal manutentore della distribuzione includendo un
0028    link, se esiste, ad un rapporto su bugzilla, e informazioni aggiuntive
0029    sull'impatto che ha sugli utenti.
0030  - Non deve correggere problemi relativi a una "teorica sezione critica",
0031    a meno che non venga fornita anche una spiegazione su come questa si
0032    possa verificare.
0033  - Non deve includere alcuna correzione "banale" (correzioni grammaticali,
0034    pulizia dagli spazi bianchi, eccetera).
0035  - Deve rispettare le regole scritte in
0036    :ref:`Documentation/translations/it_IT/process/submitting-patches.rst <it_submittingpatches>`
0037  - Questa patch o una equivalente deve esistere già nei sorgenti principali di
0038    Linux
0039 
0040 
0041 Procedura per sottomettere patch per i sorgenti -stable
0042 -------------------------------------------------------
0043 
0044 .. note::
0045   Una patch di sicurezza non dovrebbe essere gestita (solamente) dal processo
0046   di revisione -stable, ma dovrebbe seguire le procedure descritte in
0047   :ref:`Documentation/translations/it_IT/admin-guide/security-bugs.rst <it_securitybugs>`.
0048 
0049 Per tutte le altre sottomissioni, scegliere una delle seguenti procedure
0050 ------------------------------------------------------------------------
0051 
0052 .. _it_option_1:
0053 
0054 Opzione 1
0055 *********
0056 
0057 Per far sì che una patch venga automaticamente inclusa nei sorgenti stabili,
0058 aggiungete l'etichetta
0059 
0060 .. code-block:: none
0061 
0062      Cc: stable@vger.kernel.org
0063 
0064 nell'area dedicata alla firme. Una volta che la patch è stata inclusa, verrà
0065 applicata anche sui sorgenti stabili senza che l'autore o il manutentore
0066 del sottosistema debba fare qualcosa.
0067 
0068 .. _it_option_2:
0069 
0070 Opzione 2
0071 *********
0072 
0073 Dopo che la patch è stata inclusa nei sorgenti Linux, inviate una mail a
0074 stable@vger.kernel.org includendo: il titolo della patch, l'identificativo
0075 del commit, il perché pensate che debba essere applicata, e in quale versione
0076 del kernel la vorreste vedere.
0077 
0078 .. _it_option_3:
0079 
0080 Opzione 3
0081 *********
0082 
0083 Inviata la patch, dopo aver verificato che rispetta le regole descritte in
0084 precedenza, a stable@vger.kernel.org.  Dovete annotare nel changelog
0085 l'identificativo del commit nei sorgenti principali, così come la versione
0086 del kernel nel quale vorreste vedere la patch.
0087 
0088 L':ref:`it_option_1` è fortemente raccomandata; è il modo più facile e usato.
0089 L':ref:`it_option_2` e l':ref:`it_option_3` sono più utili quando, al momento
0090 dell'inclusione dei sorgenti principali, si ritiene che non debbano essere
0091 incluse anche in quelli stabili (per esempio, perché si crede che si dovrebbero
0092 fare più verifiche per eventuali regressioni). L':ref:`it_option_3` è
0093 particolarmente utile se una patch dev'essere riportata su una versione
0094 precedente (per esempio la patch richiede modifiche a causa di cambiamenti di
0095 API).
0096 
0097 Notate che per l':ref:`it_option_3`, se la patch è diversa da quella nei
0098 sorgenti principali (per esempio perché è stato necessario un lavoro di
0099 adattamento) allora dev'essere ben documentata e giustificata nella descrizione
0100 della patch.
0101 
0102 L'identificativo del commit nei sorgenti principali dev'essere indicato sopra
0103 al messaggio della patch, così:
0104 
0105 .. code-block:: none
0106 
0107     commit <sha1> upstream.
0108 
0109 In aggiunta, alcune patch inviate attraverso l':ref:`it_option_1` potrebbero
0110 dipendere da altre che devo essere incluse. Questa situazione può essere
0111 indicata nel seguente modo nell'area dedicata alle firme:
0112 
0113 .. code-block:: none
0114 
0115      Cc: <stable@vger.kernel.org> # 3.3.x: a1f84a3: sched: Check for idle
0116      Cc: <stable@vger.kernel.org> # 3.3.x: 1b9508f: sched: Rate-limit newidle
0117      Cc: <stable@vger.kernel.org> # 3.3.x: fd21073: sched: Fix affinity logic
0118      Cc: <stable@vger.kernel.org> # 3.3.x
0119      Signed-off-by: Ingo Molnar <mingo@elte.hu>
0120 
0121 La sequenza di etichette ha il seguente significato:
0122 
0123 .. code-block:: none
0124 
0125      git cherry-pick a1f84a3
0126      git cherry-pick 1b9508f
0127      git cherry-pick fd21073
0128      git cherry-pick <this commit>
0129 
0130 Inoltre, alcune patch potrebbero avere dei requisiti circa la versione del
0131 kernel. Questo può essere indicato usando il seguente formato nell'area
0132 dedicata alle firme:
0133 
0134 .. code-block:: none
0135 
0136      Cc: <stable@vger.kernel.org> # 3.3.x
0137 
0138 L'etichetta ha il seguente significato:
0139 
0140 .. code-block:: none
0141 
0142      git cherry-pick <this commit>
0143 
0144 per ogni sorgente "-stable" che inizia con la versione indicata.
0145 
0146 Dopo la sottomissione:
0147 
0148  - Il mittente riceverà un ACK quando la patch è stata accettata e messa in
0149    coda, oppure un NAK se la patch è stata rigettata.  A seconda degli impegni
0150    degli sviluppatori, questa risposta potrebbe richiedere alcuni giorni.
0151  - Se accettata, la patch verrà aggiunta alla coda -stable per essere
0152    revisionata dal altri sviluppatori e dal principale manutentore del
0153    sottosistema.
0154 
0155 
0156 Ciclo di una revisione
0157 ----------------------
0158 
0159  - Quando i manutentori -stable decidono di fare un ciclo di revisione, le
0160    patch vengono mandate al comitato per la revisione, ai manutentori soggetti
0161    alle modifiche delle patch (a meno che il mittente non sia anche il
0162    manutentore di quell'area del kernel) e in CC: alla lista di discussione
0163    linux-kernel.
0164  - La commissione per la revisione ha 48 ore per dare il proprio ACK o NACK
0165    alle patch.
0166  - Se una patch viene rigettata da un membro della commissione, o un membro
0167    della lista linux-kernel obietta la bontà della patch, sollevando problemi
0168    che i manutentori ed i membri non avevano compreso, allora la patch verrà
0169    rimossa dalla coda.
0170  - Le patch che hanno ricevuto un ACK verranno inviate nuovamente come parte di
0171    un rilascio candidato (-rc) al fine di essere verificate dagli sviluppatori e
0172    dai testatori.
0173  - Solitamente si pubblica solo una -rc, tuttavia se si riscontrano problemi
0174    importanti, alcune patch potrebbero essere modificate o essere scartate,
0175    oppure nuove patch potrebbero essere messe in coda. Dunque, verranno pubblicate
0176    nuove -rc e così via finché non si ritiene che non vi siano più problemi.
0177  - Si può rispondere ad una -rc scrivendo sulla lista di discussione un'email
0178    con l'etichetta "Tested-by:". Questa etichetta verrà raccolta ed aggiunta al
0179    commit rilascio.
0180  - Alla fine del ciclo di revisione il nuovo rilascio -stable conterrà tutte le
0181    patch che erano in coda e sono state verificate.
0182  - Le patch di sicurezza verranno accettate nei sorgenti -stable direttamente
0183    dalla squadra per la sicurezza del kernel, e non passerà per il normale
0184    ciclo di revisione. Contattate la suddetta squadra per maggiori dettagli
0185    su questa procedura.
0186 
0187 Sorgenti
0188 --------
0189 
0190  - La coda delle patch, sia quelle già applicate che in fase di revisione,
0191    possono essere trovate al seguente indirizzo:
0192 
0193         https://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git
0194 
0195  - Il rilascio definitivo, e marchiato, di tutti i kernel stabili può essere
0196    trovato in rami distinti per versione al seguente indirizzo:
0197 
0198         https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
0199 
0200  - I rilasci candidati di tutti i kernel stabili possono essere trovati al
0201    seguente indirizzo:
0202 
0203     https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/
0204 
0205 
0206    .. warning::
0207      I sorgenti -stable-rc sono un'istantanea dei sorgenti stable-queue e
0208      subirà frequenti modifiche, dunque verrà anche trapiantato spesso.
0209      Dovrebbe essere usato solo allo scopo di verifica (per esempio in un
0210      sistema di CI)
0211 
0212 Comitato per la revisione
0213 -------------------------
0214 
0215  - Questo comitato è fatto di sviluppatori del kernel che si sono offerti
0216    volontari per questo lavoro, e pochi altri che non sono proprio volontari.