1
linux/Documentation/translations/it_IT/process/submit-checklist.rst

133 lines
5.9 KiB
ReStructuredText
Raw Permalink Normal View History

.. include:: ../disclaimer-ita.rst
:Original: :ref:`Documentation/process/submit-checklist.rst <submitchecklist>`
:Translator: Federico Vaga <federico.vaga@vaga.pv.it>
.. _it_submitchecklist:
Lista delle verifiche da fare prima di inviare una patch per il kernel Linux
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Qui troverete una lista di cose che uno sviluppatore dovrebbe fare per
vedere le proprie patch accettate più rapidamente.
Tutti questi punti integrano la documentazione fornita riguardo alla
sottomissione delle patch, in particolare
:ref:`Documentation/translations/it_IT/process/submitting-patches.rst <it_submittingpatches>`.
1) Se state usando delle funzionalità del kernel allora includete (#include)
i file che le dichiarano/definiscono. Non dipendente dal fatto che un file
d'intestazione include anche quelli usati da voi.
2) Compilazione pulita:
a) con le opzioni ``CONFIG`` negli stati ``=y``, ``=m`` e ``=n``. Nessun
avviso/errore di ``gcc`` e nessun avviso/errore dal linker.
b) con ``allnoconfig``, ``allmodconfig``
c) quando si usa ``O=builddir``
doc:it_IT: align Italian documentation Translation for the following patches commit 7dfbea4c468c ("scripts: remove namespace.pl") commit 1a63f9cce7b7 ("docs: Remove make headers_check from checklist") commit 1e013ff7cb54 ("docs: Document cross-referencing using relative path") commit 0be1511f516e ("Documentation: doc-guide: fixes to sphinx.rst") commit 911358401284 ("kernel-doc: Fix example in Nested structs/unions") commit 875f82cb374b ("Documentation/submitting-patches: Extend commit message layout description") commit 78f101a1b258 ("Documentation/submitting-patches: Add blurb about backtraces in commit messages") commit f0ea149eee6b ("docs: submitting-patches: Emphasise the requirement to Cc: stable when using Fixes: tag") commit 05a5f51ca566 ("Documentation: Replace lkml.org links with lore") commit 9bf19b78a203 ("Documentation/submitting-patches: Document the SoB chain") commit b7592e5b82db ("docs: Remove the Microsoft rhetoric") commit 26606ce072d4 ("coding-style.rst: Avoid comma statements") commit dd58e649742a ("docs: Make syscalls' helpers naming consistent") commit 460cd17e9f7d ("net: switch to the kernel.org patchwork instance") commit 163ba35ff371 ("doc: use KCFLAGS instead of EXTRA_CFLAGS to pass flags from command line") commit 0ef597c3ac49 ("docs: remove mention of ENABLE_MUST_CHECK") commit f8408264c77a ("drivers: Remove CONFIG_OPROFILE support") commit 0653c358d2dc ("scsi: Drop gdth driver") commit f8ae7bbec726 ("net: x25_asy: Delete the x25_asy driver") commit cf6d6fc27936 ("docs: process/howto.rst: make sections on bug reporting match practice") commit da514157c4f0 ("docs: make reporting-bugs.rst obsolete") commit 4f8af077a02e ("docs: Fix reST markup when linking to sections") commit 3a4928cf5e3c ("Documentation: kernel-hacking: change 'current()' to 'current'") commit c170f2eb9648 ("docs: Document cross-referencing between documentation pages") Signed-off-by: Federico Vaga <federico.vaga@vaga.pv.it> Link: https://lore.kernel.org/r/20210409224104.30471-1-federico.vaga@vaga.pv.it Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2021-04-09 15:41:04 -07:00
d) Qualsiasi modifica in Documentation/ deve compilare con successo senza
avvisi o errori. Usare ``make htmldocs`` o ``make pdfdocs`` per verificare
e correggere i problemi
3) Compilare per diverse architetture di processore usando strumenti per
la cross-compilazione o altri.
4) Una buona architettura per la verifica della cross-compilazione è la ppc64
perché tende ad usare ``unsigned long`` per le quantità a 64-bit.
5) Controllate lo stile del codice della vostra patch secondo le direttive
scritte in :ref:`Documentation/translations/it_IT/process/coding-style.rst <it_codingstyle>`.
Prima dell'invio della patch, usate il verificatore di stile
(``script/checkpatch.pl``) per scovare le violazioni più semplici.
Dovreste essere in grado di giustificare tutte le violazioni rimanenti nella
vostra patch.
6) Le opzioni ``CONFIG``, nuove o modificate, non scombussolano il menu
di configurazione e sono preimpostate come disabilitate a meno che non
soddisfino i criteri descritti in ``Documentation/kbuild/kconfig-language.rst``
alla punto "Voci di menu: valori predefiniti".
7) Tutte le nuove opzioni ``Kconfig`` hanno un messaggio di aiuto.
8) La patch è stata accuratamente revisionata rispetto alle più importanti
configurazioni ``Kconfig``. Questo è molto difficile da fare
correttamente - un buono lavoro di testa sarà utile.
9) Verificare con sparse.
doc:it_IT: align Italian documentation Translation for the following patches commit 7dfbea4c468c ("scripts: remove namespace.pl") commit 1a63f9cce7b7 ("docs: Remove make headers_check from checklist") commit 1e013ff7cb54 ("docs: Document cross-referencing using relative path") commit 0be1511f516e ("Documentation: doc-guide: fixes to sphinx.rst") commit 911358401284 ("kernel-doc: Fix example in Nested structs/unions") commit 875f82cb374b ("Documentation/submitting-patches: Extend commit message layout description") commit 78f101a1b258 ("Documentation/submitting-patches: Add blurb about backtraces in commit messages") commit f0ea149eee6b ("docs: submitting-patches: Emphasise the requirement to Cc: stable when using Fixes: tag") commit 05a5f51ca566 ("Documentation: Replace lkml.org links with lore") commit 9bf19b78a203 ("Documentation/submitting-patches: Document the SoB chain") commit b7592e5b82db ("docs: Remove the Microsoft rhetoric") commit 26606ce072d4 ("coding-style.rst: Avoid comma statements") commit dd58e649742a ("docs: Make syscalls' helpers naming consistent") commit 460cd17e9f7d ("net: switch to the kernel.org patchwork instance") commit 163ba35ff371 ("doc: use KCFLAGS instead of EXTRA_CFLAGS to pass flags from command line") commit 0ef597c3ac49 ("docs: remove mention of ENABLE_MUST_CHECK") commit f8408264c77a ("drivers: Remove CONFIG_OPROFILE support") commit 0653c358d2dc ("scsi: Drop gdth driver") commit f8ae7bbec726 ("net: x25_asy: Delete the x25_asy driver") commit cf6d6fc27936 ("docs: process/howto.rst: make sections on bug reporting match practice") commit da514157c4f0 ("docs: make reporting-bugs.rst obsolete") commit 4f8af077a02e ("docs: Fix reST markup when linking to sections") commit 3a4928cf5e3c ("Documentation: kernel-hacking: change 'current()' to 'current'") commit c170f2eb9648 ("docs: Document cross-referencing between documentation pages") Signed-off-by: Federico Vaga <federico.vaga@vaga.pv.it> Link: https://lore.kernel.org/r/20210409224104.30471-1-federico.vaga@vaga.pv.it Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2021-04-09 15:41:04 -07:00
10) Usare ``make checkstack`` e correggere tutti i problemi rilevati.
.. note::
``checkstack`` non evidenzia esplicitamente i problemi, ma una funzione
che usa più di 512 byte sullo stack è una buona candidata per una
correzione.
11) Includete commenti :ref:`kernel-doc <kernel_doc>` per documentare API
globali del kernel. Usate ``make htmldocs`` o ``make pdfdocs`` per
verificare i commenti :ref:`kernel-doc <kernel_doc>` ed eventualmente
correggerli.
12) La patch è stata verificata con le seguenti opzioni abilitate
contemporaneamente: ``CONFIG_PREEMPT``, ``CONFIG_DEBUG_PREEMPT``,
``CONFIG_DEBUG_SLAB``, ``CONFIG_DEBUG_PAGEALLOC``, ``CONFIG_DEBUG_MUTEXES``,
``CONFIG_DEBUG_SPINLOCK``, ``CONFIG_DEBUG_ATOMIC_SLEEP``,
``CONFIG_PROVE_RCU`` e ``CONFIG_DEBUG_OBJECTS_RCU_HEAD``.
13) La patch è stata compilata e verificata in esecuzione con, e senza,
le opzioni ``CONFIG_SMP`` e ``CONFIG_PREEMPT``.
14) Se la patch ha effetti sull'IO dei dischi, eccetera: allora dev'essere
verificata con, e senza, l'opzione ``CONFIG_LBDAF``.
15) Tutti i percorsi del codice sono stati verificati con tutte le funzionalità
di lockdep abilitate.
16) Tutti i nuovi elementi in ``/proc`` sono documentati in ``Documentation/``.
17) Tutti i nuovi parametri d'avvio del kernel sono documentati in
``Documentation/admin-guide/kernel-parameters.rst``.
18) Tutti i nuovi parametri dei moduli sono documentati con ``MODULE_PARM_DESC()``.
19) Tutte le nuove interfacce verso lo spazio utente sono documentate in
``Documentation/ABI/``. Leggete ``Documentation/ABI/README`` per maggiori
informazioni. Le patch che modificano le interfacce utente dovrebbero
essere inviate in copia anche a linux-api@vger.kernel.org.
20) La patch è stata verificata con l'iniezione di fallimenti in slab e
nell'allocazione di pagine. Vedere ``Documentation/fault-injection/``.
Se il nuovo codice è corposo, potrebbe essere opportuno aggiungere
l'iniezione di fallimenti specifici per il sottosistema.
21) Il nuovo codice è stato compilato con ``gcc -W`` (usate
``make KCFLAGS=-W``). Questo genererà molti avvisi, ma è ottimo
per scovare bachi come "warning: comparison between signed and unsigned".
22) La patch è stata verificata dopo essere stata inclusa nella serie di patch
-mm; questo al fine di assicurarsi che continui a funzionare assieme a
tutte le altre patch in coda e i vari cambiamenti nei sottosistemi VM, VFS
e altri.
23) Tutte le barriere di sincronizzazione {per esempio, ``barrier()``,
``rmb()``, ``wmb()``} devono essere accompagnate da un commento nei
sorgenti che ne spieghi la logica: cosa fanno e perché.
24) Se la patch aggiunge nuove chiamate ioctl, allora aggiornate
``Documentation/userspace-api/ioctl/ioctl-number.rst``.
25) Se il codice che avete modificato dipende o usa una qualsiasi interfaccia o
funzionalità del kernel che è associata a uno dei seguenti simboli
``Kconfig``, allora verificate che il kernel compili con diverse
configurazioni dove i simboli sono disabilitati e/o ``=m`` (se c'è la
possibilità) [non tutti contemporaneamente, solo diverse combinazioni
casuali]:
``CONFIG_SMP``, ``CONFIG_SYSFS``, ``CONFIG_PROC_FS``, ``CONFIG_INPUT``,
``CONFIG_PCI``, ``CONFIG_BLOCK``, ``CONFIG_PM``, ``CONFIG_MAGIC_SYSRQ``,
``CONFIG_NET``, ``CONFIG_INET=n`` (ma l'ultimo con ``CONFIG_NET=y``).