No final de semana passado, foi a surpresa de Linus Torvalds para habilitar o comportamento "-Werror" por padrão para todas as compilações do kernel . A adição do sinalizador do compilador faz com que todos os avisos sejam tratados como erros, o que, por sua vez, interrompe a construção do kernel. Como esperado, essa mudança gerou uma grande confusão.
Essa mudança para habilitar "-Werror" por padrão ao construir o kernel do Linux levou a alguns erros imediatos. Em particular, os farms de construção / teste foram rápidos em atingir os pontos problemáticos e encontrar rapidamente várias áreas do kernel que estavam emitindo avisos que não podiam ser corrigidos imediatamente.
Nick Desaulniers do Google, que esteve envolvido com a construção do LLVM Clang do kernel do Linux, acabou enviando um patch que reverte a mudança de Linus Torvalds. Nick observou: "Embora eu possa apreciar a intenção de habilitar -Werror, não acho que seja a ferramenta certa para resolver a causa raiz de desenvolvedores não testarem certas cadeias de ferramentas ou configurações, ou levando relatórios existentes, eles estão ficando sérios o suficiente ... -Werror é ótimo para evitar que novos erros apareçam quando uma base de código está livre de avisos para todas as configurações e todos os destinos e o conjunto de ferramentas nunca é atualizado. Infelizmente, nenhum dos itens acima é o caso para o kernel Linux no momento. "
Linus Torvalds rejeitou a nção de desativá-lo por padrão."Não. Foi fundido em resposta a _anos_ de dor, com o último sendo apenas a gota final. Não vou reverter essa mudança. Provavelmente terei que limitá-lo (fazendo com que a opção WERROR dependa de certas expectativas), mas basicamente qualquer mantenedor que tem código que causa avisos deve esperar que terá que consertar esses avisos ... Passei horas ontem me livrando de alguns avisos. Não deveria ser eu consertar o código das pessoas. Não deveria ser eu percebendo que as pessoas me enviam porcarias que me avisam. E realmente não deveria ser "Linus se preocupa com avisos, então configurações que Linus não testa podem continuar por anos a tê-los". Minha política de "sem avisos" não é exatamente nova, e as pessoas não deveriam ficar chocadas quando eu disser "hora de limpar * SUA * casa também". "
Então, trazido nesta acalorada conversa por Marco Elver, estava a idéia de apenas habilitar "-Werror" ao fazer uma compilação de kernel "COMPILE_TEST" para querer enviar o relatório de aviso como erro para aqueles que estão testando os kernels. Esse caminho parece estar ganhando terreno e Linus chama de mudança "razoável". Essa abordagem COMPILE_TEST para -Werror parece estar ganhando terreno à medida que outros desenvolvedores upstream expressam sua opinião sobre como eles também tiveram que recorrer à desativação do novo comportamento para fornecer compilações de kernel bem-sucedidas.
Para encurtar a história, essa rota COMPILE_TEST para -Werror presumivelmente passará para o Linux 5.15 ao invés de ser o padrão para todas as compilações do kernel. No entanto, Linus Torvalds está realmente pressionando os desenvolvedores para que assumam a responsabilidade e corrijam os avisos do compilador.
Atualização:Linus Torvalds agora lançou o patch rebaixando-o para o COMPILE_TEST apenas por padrão.
Até a próxima !!
Nenhum comentário:
Postar um comentário