Skip to content

Commit

Permalink
doc:it_IT: align Italian documentation
Browse files Browse the repository at this point in the history
Translation for the following patches

commit df05c0e ("Documentation: Raise the minimum supported version of LLVM to 11.0.0")
commit 333b11e ("Documentation: Add minimum pahole version")
commit 6d6a8d6 ("docs: Update Sphinx requirements")
commit 76ae847 ("Documentation: raise minimum supported version of GCC to 5.1")
commit 59c6a71 ("Documentation/process/maintainer-pgp-guide: Replace broken link to PGP path finder")
commit 85eafc6 ("docs: update file link location")
commit 869f496 ("docs: process: submitting-patches: Clarify the Reported-by usage")
commit 6c5ccd2 ("Remove mentions of the Trivial Patch Monkey")
commit aa9b5e0 ("Documentation/process: fix self reference")
commit b96ff02 ("Documentation/process: fix a cross reference")
commit 1f57bd4 ("docs: submitting-patches: make section about the Link: tag more explicit")
commit a9d85ef ("docs: use the lore redirector everywhere")
commit 31c9d7c ("Documentation/process: Add tip tree handbook")
commit 604370e ("Documentation/process: Add maintainer handbooks section")
commit bf33a9d ("docs: 5.Posting.rst: describe Fixes: and Link: tags")
commit c04639a ("coding-style.rst: trivial: fix location of driver model macros")
commit d5b421f ("docs: Explain the desired position of function attributes")
commit 3577cdb ("docs: deprecated.rst: Clarify open-coded arithmetic with literals")
commit db67eb7 ("docs: discourage use of list tables")
commit 0e805b1 ("docs: address some text issues with css/theme support")
commit 135707d ("docs: allow to pass extra DOCS_CSS themes via make")
commit fe450ee ("Documentation: in_irq() cleanup")
commit 10855b4 ("docs: fix typo in Documentation/kernel-hacking/locking.rst")
commit bc67f1c ("docs: futex: Fix kernel-doc references")
commit abf36fe ("docs: kernel-hacking: Remove inappropriate text")
commit f35cf1a ("Documentation: kernel-hacking: minor edits for style")
commit f35cf1a ("Documentation: kernel-hacking: minor edits for style")
commit 980c379 ("Documentation: kernel-doc: Promote two chapter headings to page title")
commit e1be43d ("overflow: Implement size_t saturating arithmetic helpers")
commit 615f3ee ("Documentation: add note block surrounding security patch note")
commit 587d39b ("Documentation: add link to stable release candidate tree")
commit 555d449 ("Documentation: update stable tree link")
commit 88d99e8 ("Documentation: update stable review cycle documentation")
commit 0c603a5 ("Documentation/process: mention patch changelog in review process")
commit 6d5aa41 ("docs: submitting-patches: Fix crossref to 'The canonical patch format'")
commit f1a6939 ("Documentation/process: use scripts/get_maintainer.pl on patches")
commit 69ef092 ("Docs: Add cpio requirement to changes.rst")
commit 5a5866c ("Docs: Replace version by 'current' in changes.rst")
commit 9b5a7f4 ("x86/configs: Add x86 debugging Kconfig fragment plus docs")
commit f1a6939 ("Documentation/process: use scripts/get_maintainer.pl on patches")
commit e8c0708 ("Kbuild: move to -std=gnu11")

Signed-off-by: Federico Vaga <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jonathan Corbet <[email protected]>
  • Loading branch information
FedericoVaga authored and Jonathan Corbet committed Jul 28, 2022
1 parent 5a491c9 commit da1d9ca
Show file tree
Hide file tree
Showing 18 changed files with 288 additions and 96 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.. SPDX-License-Identifier: GPL-2.0
.. include:: ../../disclaimer-ita.rst

:Original: Documentation/devicetree/bindings/submitting-patches.rst

================================================
Sottomettere patch per devicetree (DT) *binding*
================================================

.. note:: to be translated
2 changes: 2 additions & 0 deletions Documentation/translations/it_IT/doc-guide/kernel-doc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

.. _it_kernel_doc:

=================================
Scrivere i commenti in kernel-doc
=================================

Expand Down Expand Up @@ -469,6 +470,7 @@ Il titolo che segue ``DOC:`` funziona da intestazione all'interno del file
sorgente, ma anche come identificatore per l'estrazione di questi commenti di
documentazione. Quindi, il titolo dev'essere unico all'interno del file.

=======================================
Includere i commenti di tipo kernel-doc
=======================================

Expand Down
18 changes: 11 additions & 7 deletions Documentation/translations/it_IT/doc-guide/sphinx.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@

.. _it_sphinxdoc:

Introduzione
============
=============================================
Usare Sphinx per la documentazione del kernel
=============================================

Il kernel Linux usa `Sphinx`_ per la generazione della documentazione a partire
dai file `reStructuredText`_ che si trovano nella cartella ``Documentation``.
Expand Down Expand Up @@ -158,6 +159,9 @@ Per poter passare ulteriori opzioni a Sphinx potete utilizzare la variabile
make ``SPHINXOPTS``. Per esempio, se volete che Sphinx sia più verboso durante
la generazione potete usare il seguente comando ``make SPHINXOPTS=-v htmldocs``.

Potete anche personalizzare l'ouptut html passando un livello aggiuntivo
DOCS_CSS usando la rispettiva variabile d'ambiente ``DOCS_CSS``.

Potete eliminare la documentazione generata tramite il comando
``make cleandocs``.

Expand Down Expand Up @@ -276,11 +280,11 @@ incrociato quando questa ha una voce nell'indice. Se trovate degli usi di
Tabelle a liste
---------------

Raccomandiamo l'uso delle tabelle in formato lista (*list table*). Le tabelle
in formato lista sono liste di liste. In confronto all'ASCII-art potrebbero
non apparire di facile lettura nei file in formato testo. Il loro vantaggio è
che sono facili da creare o modificare e che la differenza di una modifica è
molto più significativa perché limitata alle modifiche del contenuto.
Il formato ``list-table`` può essere utile per tutte quelle tabelle che non
possono essere facilmente scritte usando il formato ASCII-art di Sphinx. Però,
questo genere di tabelle sono illeggibili per chi legge direttamente i file di
testo. Dunque, questo formato dovrebbe essere evitato senza forti argomenti che
ne giustifichino l'uso.

La ``flat-table`` è anch'essa una lista di liste simile alle ``list-table``
ma con delle funzionalità aggiuntive:
Expand Down
24 changes: 11 additions & 13 deletions Documentation/translations/it_IT/kernel-hacking/hacking.rst
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,7 @@ eseguiti simultaneamente.
.. warning::

Il nome 'tasklet' è ingannevole: non hanno niente a che fare
con i 'processi' ('tasks'), e probabilmente hanno più a che vedere
con qualche pessima vodka che Alexey Kuznetsov si fece a quel tempo.
con i 'processi' ('tasks').

Potete determinate se siete in un softirq (o tasklet) utilizzando la
macro :c:func:`in_softirq()` (``include/linux/preempt.h``).
Expand Down Expand Up @@ -308,7 +307,7 @@ esse copiano una quantità arbitraria di dati da e verso lo spazio utente.
Al contrario di:c:func:`put_user()` e :c:func:`get_user()`, queste
funzioni ritornano la quantità di dati copiati (0 è comunque un successo).

[Sì, questa stupida interfaccia mi imbarazza. La battaglia torna in auge anno
[Sì, questa interfaccia mi imbarazza. La battaglia torna in auge anno
dopo anno. --RR]

Le funzioni potrebbero dormire implicitamente. Queste non dovrebbero mai essere
Expand Down Expand Up @@ -679,9 +678,8 @@ tutti sulle spine: questo riflette cambiamenti fondamentati (eg. la funzione
non può più essere chiamata con le funzioni attive, o fa controlli aggiuntivi,
o non fa più controlli che venivano fatti in precedenza). Solitamente a questo
s'accompagna un'adeguata e completa nota sulla lista di discussone
linux-kernel; cercate negli archivi.
Solitamente eseguire una semplice sostituzione su tutto un file rendere
le cose **peggiori**.
più adatta; cercate negli archivi. Solitamente eseguire una semplice
sostituzione su tutto un file rendere le cose **peggiori**.

Inizializzazione dei campi d'una struttura
------------------------------------------
Expand Down Expand Up @@ -759,14 +757,14 @@ Mettere le vostre cose nel kernel
Al fine d'avere le vostre cose in ordine per l'inclusione ufficiale, o
anche per avere patch pulite, c'è del lavoro amministrativo da fare:

- Trovare di chi è lo stagno in cui state pisciando. Guardare in cima
- Trovare chi è responsabile del codice che state modificando. Guardare in cima
ai file sorgenti, all'interno del file ``MAINTAINERS``, ed alla fine
di tutti nel file ``CREDITS``. Dovreste coordinarvi con queste persone
per evitare di duplicare gli sforzi, o provare qualcosa che è già stato
rigettato.

Assicuratevi di mettere il vostro nome ed indirizzo email in cima a
tutti i file che create o che mangeggiate significativamente. Questo è
tutti i file che create o che maneggiate significativamente. Questo è
il primo posto dove le persone guarderanno quando troveranno un baco,
o quando **loro** vorranno fare una modifica.

Expand All @@ -787,12 +785,12 @@ anche per avere patch pulite, c'è del lavoro amministrativo da fare:
"obj-$(CONFIG_xxx) += xxx.o". La sintassi è documentata nel file
``Documentation/kbuild/makefiles.rst``.

- Aggiungete voi stessi in ``CREDITS`` se avete fatto qualcosa di notevole,
solitamente qualcosa che supera il singolo file (comunque il vostro nome
dovrebbe essere all'inizio dei file sorgenti). ``MAINTAINERS`` significa
- Aggiungete voi stessi in ``CREDITS`` se credete di aver fatto qualcosa di
notevole, solitamente qualcosa che supera il singolo file (comunque il vostro
nome dovrebbe essere all'inizio dei file sorgenti). ``MAINTAINERS`` significa
che volete essere consultati quando vengono fatte delle modifiche ad un
sottosistema, e quando ci sono dei bachi; questo implica molto di più
di un semplice impegno su una parte del codice.
sottosistema, e quando ci sono dei bachi; questo implica molto di più di un
semplice impegno su una parte del codice.

- Infine, non dimenticatevi di leggere
``Documentation/process/submitting-patches.rst``.
Expand Down
14 changes: 3 additions & 11 deletions Documentation/translations/it_IT/kernel-hacking/locking.rst
Original file line number Diff line number Diff line change
Expand Up @@ -102,16 +102,11 @@ che non esistano.
Sincronizzazione nel kernel Linux
=================================

Se posso darvi un suggerimento: non dormite mai con qualcuno più pazzo di
voi. Ma se dovessi darvi un suggerimento sulla sincronizzazione:
**mantenetela semplice**.
Se dovessi darvi un suggerimento sulla sincronizzazione: **mantenetela
semplice**.

Siate riluttanti nell'introduzione di nuovi *lock*.

Abbastanza strano, quest'ultimo è l'esatto opposto del mio suggerimento
su quando **avete** dormito con qualcuno più pazzo di voi. E dovreste
pensare a prendervi un cane bello grande.

I due principali tipi di *lock* nel kernel: spinlock e mutex
------------------------------------------------------------

Expand Down Expand Up @@ -316,7 +311,7 @@ Pete Zaitcev ci offre il seguente riassunto:

- Se siete in un contesto utente (una qualsiasi chiamata di sistema)
e volete sincronizzarvi con altri processi, usate i mutex. Potete trattenere
il mutex e dormire (``copy_from_user*(`` o ``kmalloc(x,GFP_KERNEL)``).
il mutex e dormire (``copy_from_user(`` o ``kmalloc(x,GFP_KERNEL)``).

- Altrimenti (== i dati possono essere manipolati da un'interruzione) usate
spin_lock_irqsave() e spin_unlock_irqrestore().
Expand Down Expand Up @@ -979,9 +974,6 @@ fallisce nel trovare quello che vuole, quindi rilascia il *lock* di lettura,
trattiene un *lock* di scrittura ed inserisce un oggetto; questo genere di
codice presenta una corsa critica.

Se non riuscite a capire il perché, per favore state alla larga dal mio
codice.

corsa fra temporizzatori: un passatempo del kernel
--------------------------------------------------

Expand Down
10 changes: 10 additions & 0 deletions Documentation/translations/it_IT/maintainer/configure-git.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.. include:: ../disclaimer-ita.rst

:Original: Documentation/process/botching-up-ioctls.rst

.. _it_configuregit:

Configurare Git
===============

.. note:: To be translated
17 changes: 9 additions & 8 deletions Documentation/translations/it_IT/process/3.Early-stage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -168,14 +168,15 @@ in questa ricerca:

.../scripts/get_maintainer.pl

Se questo script viene eseguito con l'opzione "-f" ritornerà il
manutentore(i) attuale per un dato file o cartella. Se viene passata una
patch sulla linea di comando, lo script elencherà i manutentori che
dovrebbero riceverne una copia. Ci sono svariate opzioni che regolano
quanto a fondo get_maintainer.pl debba cercare i manutentori;
siate quindi prudenti nell'utilizzare le opzioni più aggressive poiché
potreste finire per includere sviluppatori che non hanno un vero interesse
per il codice che state modificando.
Se questo script viene eseguito con l'opzione "-f" ritornerà il manutentore(i)
attuale per un dato file o cartella. Se viene passata una patch sulla linea di
comando, lo script elencherà i manutentori che dovrebbero riceverne una copia.
Questo è la maniera raccomandata (non quella con "-f") per ottenere la lista di
persone da aggiungere a Cc per le vostre patch. Ci sono svariate opzioni che
regolano quanto a fondo get_maintainer.pl debba cercare i manutentori; siate
quindi prudenti nell'utilizzare le opzioni più aggressive poiché potreste finire
per includere sviluppatori che non hanno un vero interesse per il codice che
state modificando.

Se tutto ciò dovesse fallire, parlare con Andrew Morton potrebbe essere
un modo efficace per capire chi è il manutentore di un dato pezzo di codice.
Expand Down
27 changes: 21 additions & 6 deletions Documentation/translations/it_IT/process/5.Posting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -213,13 +213,28 @@ irrilevanti (quelli generati dal processo di generazione, per esempio, o i file
di backup del vostro editor). Il file "dontdiff" nella cartella Documentation
potrà esservi d'aiuto su questo punto; passatelo a diff con l'opzione "-X".

Le etichette sopra menzionante sono usate per descrivere come i vari
sviluppatori sono stati associati allo sviluppo di una patch. Sono descritte
in dettaglio nel documento :ref:`translations/it_IT/process/submitting-patches.rst <it_submittingpatches>`;
quello che segue è un breve riassunto. Ognuna di queste righe ha il seguente
formato:
Le etichette sopracitate danno un'idea di come una patch prende vita e sono
descritte nel dettaglio nel documento
:ref:`Documentation/translations/it_IT/process/submitting-patches.rst <it_submittingpatches>`.
Qui di seguito un breve riassunto.

::
Un'etichetta ci può dire quale commit ha introdotto il problema che viene corretto nella patch::

Fixes: 1f2e3d4c5b6a ("The first line of the commit specified by the first 12 characters of its SHA-1 ID")

Un'altra etichetta viene usata per fornire collegamenti a pagine web contenenti
maggiori informazioni, per esempio un rapporto circa il baco risolto dalla
patch, oppure un documento con le specifiche implementate dalla patch::

Link: https://example.com/somewhere.html optional-other-stuff

Alcuni manutentori aggiungono quest'etichetta alla patch per fare riferimento
alla più recente discussione pubblica. A volte questo è fatto automaticamente da
alcuni strumenti come b4 or un *hook* git come quello descritto qui
'Documentation/translations/it_IT/maintainer/configure-git.rst'

Un terzo tipo di etichetta viene usato per indicare chi ha contribuito allo
sviluppo della patch. Tutte queste etichette seguono il formato::

tag: Full Name <email address> optional-other-stuff

Expand Down
25 changes: 21 additions & 4 deletions Documentation/translations/it_IT/process/changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ Requisiti minimi per compilare il kernel
Introduzione
============

Questo documento fornisce una lista dei software necessari per eseguire i
kernel 4.x.
Questo documento fornisce una lista dei software necessari per eseguire questa
versione del kernel.

Questo documento è basato sul file "Changes" del kernel 2.0.x e quindi le
persone che lo scrissero meritano credito (Jared Mauch, Axel Boldt,
Expand All @@ -32,12 +32,13 @@ PC Card, per esempio, probabilmente non dovreste preoccuparvi di pcmciautils.
====================== ================= ========================================
Programma Versione minima Comando per verificare la versione
====================== ================= ========================================
GNU C 4.9 gcc --version
Clang/LLVM (optional) 10.0.1 clang --version
GNU C 5.1 gcc --version
Clang/LLVM (optional) 11.0.0 clang --version
GNU make 3.81 make --version
binutils 2.23 ld -v
flex 2.5.35 flex --version
bison 2.0 bison --version
pahole 1.16 pahole --version
util-linux 2.10o fdformat --version
kmod 13 depmod -V
e2fsprogs 1.41.4 e2fsck -V
Expand All @@ -58,6 +59,7 @@ iptables 1.4.2 iptables -V
openssl & libcrypto 1.0.0 openssl version
bc 1.06.95 bc --version
Sphinx\ [#f1]_ 1.7 sphinx-build --version
cpio any cpio --version
====================== ================= ========================================

.. [#f1] Sphinx è necessario solo per produrre la documentazione del Kernel
Expand Down Expand Up @@ -111,6 +113,16 @@ Bison
Dalla versione 4.16, il sistema di compilazione, durante l'esecuzione, genera
un parsificatore. Questo richiede bison 2.0 o successivo.

pahole
------

Dalla versione 5.2, quando viene impostato CONFIG_DEBUG_INFO_BTF, il sistema di
compilazione genera BTF (BPF Type Format) a partire da DWARF per vmlinux. Più
tardi anche per i moduli. Questo richiede pahole v1.16 o successivo.

A seconda della distribuzione, lo si può trovare nei pacchetti 'dwarves' o
'pahole'. Oppure lo si può trovare qui: https://fedorapeople.org/~acme/dwarves/.

Perl
----

Expand Down Expand Up @@ -455,6 +467,11 @@ mcelog

- <http://www.mcelog.org/>

cpio
----

- <https://www.gnu.org/software/cpio/>

Rete
****

Expand Down
42 changes: 40 additions & 2 deletions Documentation/translations/it_IT/process/coding-style.rst
Original file line number Diff line number Diff line change
Expand Up @@ -466,14 +466,52 @@ la riga della parentesi graffa di chiusura. Ad esempio:
}
EXPORT_SYMBOL(system_is_up);
6.1) Prototipi di funzione
**************************

Nei prototipi di funzione, includete i nomi dei parametri e i loro tipi.
Nonostante questo non sia richiesto dal linguaggio C, in Linux viene preferito
perché è un modo semplice per aggiungere informazioni importanti per il
lettore.

Non usate la parola chiave ``extern`` coi prototipi di funzione perché
Non usate la parola chiave ``extern`` con le dichiarazioni di funzione perché
rende le righe più lunghe e non è strettamente necessario.

Quando scrivete i prototipi di funzione mantenete `l'ordine degli elementi <https://lore.kernel.org/mm-commits/CAHk-=wiOCLRny5aifWNhr621kYrJwhfURsa0vFPeUEm8mF0ufg@mail.gmail.com/>`_.

Prendiamo questa dichiarazione di funzione come esempio::

__init void * __must_check action(enum magic value, size_t size, u8 count,
char *fmt, ...) __printf(4, 5) __malloc;

L'ordine suggerito per gli elementi di un prototipo di funzione è il seguente:

- classe d'archiviazione (in questo caso ``static __always_inline``. Da notare
che ``__always_inline`` è tecnicamente un attributo ma che viene trattato come
``inline``)
- attributi della classe di archiviazione (in questo caso ``__init``, in altre
parole la sezione, ma anche cose tipo ``__cold``)
- il tipo di ritorno (in questo caso, ``void *``)
- attributi per il valore di ritorno (in questo caso, ``__must_check``)
- il nome della funzione (in questo caso, ``action``)
- i parametri della funzione(in questo caso,
``(enum magic value, size_t size, u8 count, char *fmt, ...)``,
da notare che va messo anche il nome del parametro)
- attributi dei parametri (in questo caso, ``__printf(4, 5)``)
- attributi per il comportamento della funzione (in questo caso, ``__malloc_``)

Notate che per la **definizione** di una funzione (il altre parole il corpo
della funzione), il compilatore non permette di usare gli attributi per i
parametri dopo i parametri. In questi casi, devono essere messi dopo gli
attributi della classe d'archiviazione (notate che la posizione di
``__printf(4,5)`` cambia rispetto alla **dichiarazione**)::

static __always_inline __init __printf(4, 5) void * __must_check action(enum magic value,
size_t size, u8 count, char *fmt, ...) __malloc
{
...
}*)**``)**``)``)``*)``)``)``)``*``)``)``)*)

7) Centralizzare il ritorno delle funzioni
------------------------------------------

Expand Down Expand Up @@ -855,7 +893,7 @@ I messaggi del kernel non devono terminare con un punto fermo.
Scrivere i numeri fra parentesi (%d) non migliora alcunché e per questo
dovrebbero essere evitati.

Ci sono alcune macro per la diagnostica in <linux/device.h> che dovreste
Ci sono alcune macro per la diagnostica in <linux/dev_printk.h> che dovreste
usare per assicurarvi che i messaggi vengano associati correttamente ai
dispositivi e ai driver, e che siano etichettati correttamente: dev_err(),
dev_warn(), dev_info(), e così via. Per messaggi che non sono associati ad
Expand Down
Loading

0 comments on commit da1d9ca

Please sign in to comment.