Central de Notícias

O seu gateway brasileiro definitivo para notícias 100% sobre o Kernel Linux. Alimentado pela comunidade global.

Carregando notícias...

Patches Recentes (pt_BR)

Acompanhe em tempo real os patches e contribuições recentes enviadas pela comunidade brasileira para a lista de documentação do Kernel.

Carregando...

    Documentação Oficial (BR)

    Aqui você aprende o passo a passo para contribuir com a tradução e manutenção da documentação oficial do Kernel Linux.

    Máquina Virtual Oficial (Isolada)

    Não perca tempo configurando compiladores, baixando Gigabytes do Kernel ou configurando o git send-email. Nós criamos uma máquina virtual 100% pronta e isolada. Ela já vem com a árvore oficial do Linus Torvalds embutida e pede suas credenciais automaticamente.

    curl -sL https://kernelbase.com.br/setup-dev.sh | bash

    Como acessar depois? Basta abrir seu terminal e digitar kernelbase para entrar na sua máquina isolada a qualquer momento!

    Dica: Lá dentro, digite atualizar-vm para puxar as novidades.

    ☁️ Save na Nuvem: Use kernelbase backup para salvar seu trabalho com criptografia AES-256 e kernelbase restore TOKEN em outro PC para recuperar.


    tags: - linux - linuxKernel - contribution - cli - git - b4 - kernel - documentation


    Pré-requisitos

    É preciso instalar algumas dependências para conseguir contribuir:

    Debian: ```bash sudo apt update

    sudo apt install \ git \ git-email \ perl \ make \ python3

    sudo apt install \ python3-pip \ python3-venv ```

    Fedora: ```bash sudo dnf install \ git \ git-email \ perl \ make \ python3

    sudo dnf install \ python3-pip ```

    Verifique: bash git --version git send-email --help perl --version python3 --version

    Primeiro passo: preparar o ambiente

    Verificar instalação: bash git send-email --help

    Configure a sua identidade: bash git config --global user.name "Your Name" git config --global user.email "your.email@example.com"

    Configurando SMTP: bash git config --global sendemail.smtpserver smtp.gmail.com git config --global sendemail.smtpserverport 587 git config --global sendemail.smtpencryption tls git config --global sendemail.smtpuser seuemail@gmail.com

    Pode-se adicionar: bash git config --global sendemail.assume8bitEncoding UTF-8 Isso evitará que todas as vezes seja perguntado sobre o encoding em patches com acento, etc.

    Verifique: bash cat ~/.gitconfig

    Você deve ter algo assim: bash [user] email = seuemail@gmail.com name = seu nome [sendemail] smtpServer = smtp.gmail.com smtpServerPort = 587 smtpEncryption = tls smtpUser = seuemail@gmail.com

    Essa parte é muito importante, pois é por meio do email que iremos enviar os nossos patches

    Gerando senha de app (gmail):

    Para autenticar no Gmail, uma opção simples é utilizar uma senha de app. Para gerá-la, a conta Google deve estar com a verificação em duas etapas ativada. OAuth2 também pode ser utilizado.

    https://support.google.com/mail/answer/185833?hl=pt-br

    Para gerar uma senha de app, a conta Google precisa estar com a verificação em duas etapas ativada. A senha de app será utilizada pelo git send-email na autenticação SMTP quando solicitada.

    Clonando

    Com a configuração acima realizada, podemos realizar o clone do kernel para começar a tradução: bash git clone \ --branch docs-next \ --single-branch \ git://git.lwn.net/linux.git \ linux-docs O --single-branch limita o clone à branch docs-next, evitando buscar as demais branches do repositório.

    bash cd linux-docs/

    bash git switch -c nomeDaSuaBranch

    Após criar sua branch de trabalho, edite apenas os arquivos necessários para a contribuição que será realizada exemplo: bash Documentation/translations/pt_BR/process/index.rst Documentation/translations/pt_BR/process/volatile-considered-harmful.rst

    Pós clone

    Crie um ambiente virtual na raiz do kernel: bash python3 -m venv .venv-sphinx source .venv-sphinx/bin/activate python -m pip install --upgrade pip

    Instalar dependências faltantes: bash pip install -r Documentation/sphinx/requirements.txt pip install ply

    Pós tradução

    Revise as alterações realizadas: bash git diff

    Revise se há problemas como espaço em branco: bash git diff --check O comando git diff --check não deve retornar nenhuma mensagem.

    Adicione somente os arquivos modificados que fazem parte do patch: bash git add \ Documentation/translations/pt_BR/process/index.rst \ Documentation/translations/pt_BR/process/volatile-considered-harmful.rst Evite usar git add .

    Revisar conteúdo em staging: bash git diff --cached git diff --cached --check

    Criar commit: bash git commit -s

    Revisar: bash git show HEAD git show --check HEAD

    O summary deve ser curto e descritivo, com aproximadamente 70–75 caracteres no máximo. O corpo da mensagem deve ser quebrado em aproximadamente 75 colunas.

    ```bash docs: translations: pt_BR: translate volatile-considered-harmful.rst

    Translate volatile-considered-harmful.rst into Brazilian Portuguese and add it to the pt_BR process documentation index.

    Assisted-by: LLM Signed-off-by: Seu Nome seu-email@example.com ``` Essa primeira linha será o subject do email

    Para validar ou corrigir a mensagem: bash git commit --amend

    Verificando: bash git log -1 --format=full

    Testando a documentação:

    bash make htmldocs

    Opcionalmente: bash make pdfdocs

    Criando patch

    bash rm -rf /tmp/volatile-patch mkdir -p /tmp/volatile-patch

    bash git format-patch -1 HEAD -o /tmp/volatile-patch

    Isso criaria algo assim: bash /tmp/volatile-patch/0001-docs-translations-pt_BR-translate-volatile-considere.patch

    Lendo seu patch (antes de enviar): ```bash cat /tmp/volatile-patch/0001-*.patch

    ou

    git format-patch -1 HEAD --stdout | less ```

    Rode o script sobre o patch que será enviado: bash ./scripts/checkpatch.pl --strict \ /tmp/volatile-patch/0001-*.patch

    Se preparando para envio do patch

    Descobrindo os destinatários: bash ./scripts/get_maintainer.pl \ /tmp/volatile-patch/0001-*.patch

    Exemplo: Daniel Pereira (maintainer:PORTUGUESE (BRAZILIAN) TRANSLATION) Jonathan Corbet (maintainer:DOCUMENTATION) Shuah Khan (reviewer:DOCUMENTATION) Randy Dunlap (reviewer:DOCUMENTATION) linux-doc@vger.kernel.org (open list) linux-kernel@vger.kernel.org (open list)

    O script pode retornar mais pessoas do que as que é preciso, para isso priorize o envio para: 1. mantenedor específico; 2. mantenedores do subsistema; 3. reviewers indicados; 4. mailing lists relevantes.

    Normalmente: - mantenedores diretamente responsáveis vão em To; - reviewers e demais interessados vão em Cc; - as mailing lists relevantes também devem ser incluídas.

    Não envie para pessoas ou listas sem relação com o patch.

    Testando o envio: bash git send-email \ --dry-run \ --confirm=always \ --to="Daniel Pereira <danielmaraboo@gmail.com>" \ --to="Jonathan Corbet <corbet@lwn.net>" \ --cc="Shuah Khan <skhan@linuxfoundation.org>" \ --cc="Randy Dunlap <rdunlap@infradead.org>" \ --cc="linux-doc@vger.kernel.org" \ --cc="linux-kernel@vger.kernel.org" \ --cc="Seu Nome <seu-email@example.com>" \ /tmp/volatile-patch/0001-*.patch No dry-run nenhum email é enviado, o que esperamos com esse teste é um retorno: Result: OK, também confira: bash From: To: Cc: Subject:

    Pode aparecer: ```bash The following files are 8bit, but do not declare a Content-Transfer-Encoding.

    Declare which 8bit encoding to use [default: UTF-8]? `` Casosendemail.assume8bitEncodingnão esteja configurado, o Git pode solicitar o encoding ao encontrar caracteres não ASCII. Nesse caso, pressioneENTER` para aceitar o padrão UTF-8.

    Envio real!!

    bash git send-email \ --confirm=always \ --to="Daniel Pereira <danielmaraboo@gmail.com>" \ --to="Jonathan Corbet <corbet@lwn.net>" \ --cc="Shuah Khan <skhan@linuxfoundation.org>" \ --cc="Randy Dunlap <rdunlap@infradead.org>" \ --cc="linux-doc@vger.kernel.org" \ --cc="linux-kernel@vger.kernel.org" \ --cc="Seu Nome <seu-email@example.com>" \ /tmp/volatile-patch/0001-*.patch

    Quando aparecer: bash Send this email? ([y]es|[n]o|[e]dit|[q]uit|[a]ll):

    Confira: bash To Cc Subject Estando correto: y

    Um envio bem-sucedido retorna: Result: 250

    Detalhes:
    1. Salve o message-ID: <20260830205912.478358-1-lucasadramalho@gmail.com>

    Isso será importante para você conseguir acompanhar pela lore.kernel.org e referenciar patches antigos em V2, V3, etc, exemplo de como o link ficaria:

    bash https://lore.kernel.org/all/20260830205912.478358-1-lucasadramalho@gmail.com/

    Importante notar que: o corpo deve ser quebrado em aproximadamente 75 colunas.


    Enviando V!=1

    Não é preciso criar um novo commit, para revisões simples do mesmo patch:

    bash git add arquivo

    bash git commit --amend

    Caso alguém responda com Reviewed-by, preserve os trailers

    bash Assisted-by: ... Reviewed-by: Reviewer <reviewer@example.com> Signed-off-by: Seu Nome <seu-email@example.com> OBS.: Se uma nova versão alterar substancialmente o patch, trailers como Reviewed-by:, Tested-by: e Acked-by: podem deixar de ser aplicáveis. Remova os trailers cuja revisão, teste ou aprovação tenha sido invalidada e mencione a remoção no changelog da nova versão.

    Gerando V2

    bash rm -rf /tmp/volatile-v2 mkdir -p /tmp/volatile-v2

    bash git format-patch \ -v2 \ -1 HEAD \ -o /tmp/volatile-v2

    Adicionando changelog

    bash vim /tmp/volatile-v2/v2-0001-*.patch

    Procure por: ```bash Signed-off-by: ...


    diffstat... ```

    Adicione depois dos ---: ```bash


    Changes in v2: - Address review comments from Reviewer Name. - Fix terminology in the translated text. - Fix indentation in the process index.

    v1: https://lore.kernel.org/r/MESSAGE-ID-DA-V1 ```

    O conteúdo após --- não faz parte do commit final aplicado. Isso garante que não entre no histórico de commits, poluindo sem necessidade esse.

    Changelog não pertence ao commit.


    Extras

    Verificando atualização da tradução

    Para verificar se a tradução está sincronizada com sua versão original:

    bash tools/docs/checktransupdate.py \ Documentation/translations/pt_BR/process/volatile-considered-harmful.rst


    Checklist V1

    bash [ ] branch criada a partir da árvore correta [ ] alterações revisadas [ ] git diff --check [ ] make htmldocs [ ] checktransupdate.py, quando aplicável [ ] git add somente dos arquivos corretos [ ] git diff --cached [ ] git diff --cached --check [ ] git commit -s [ ] Signed-off-by presente [ ] git show --check HEAD [ ] git format-patch [ ] patch revisado com less/cat [ ] checkpatch.pl --strict [ ] get_maintainer.pl [ ] To e Cc revisados [ ] git send-email --dry-run [ ] Subject revisado [ ] encoding UTF-8 correto [ ] Result: OK no dry-run [ ] envio real [ ] Result: 250 [ ] Message-ID salvo [ ] link do lore salvo

    Checklist V!=1

    [ ] review lido [ ] alterações feitas [ ] trailers recebidos adicionados [ ] git commit --amend [ ] testes repetidos [ ] git format-patch -vN [ ] Changes in vN adicionado após --- [ ] Link to vN-1 adicionado [ ] checkpatch.pl [ ] dry-run [ ] envio real [ ] novo Message-ID salvo


    Lançamentos do Kernel

    TipoVersãoLançamentoLinks