Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updated reference/bc #710

Closed
wants to merge 2 commits into from
Closed

updated reference/bc #710

wants to merge 2 commits into from

Conversation

leonardolara
Copy link
Contributor

No description provided.

@leonardolara
Copy link
Contributor Author

@alfsb, não sei como resolver este problema. A atualização dos arquivos em inglês do diretório reference/bc adicionou 2 xi:include aninhados (dentro de outro xi:include).

Tentei algumas combinações de libxml2 na minha máquina local, e o build teve sucesso com a versão 2.11.0 dessa biblioteca. Parece que ela aceita xincludes aninhados.

Aqui no repo, a libxml2-2.9.13 para no primeiro nível, e "sobram" 2 xincludes que ficam sem expansão.

Duas alternativas:

  • Atualizar a libxml2 do repo e ver se o build é concluído com sucesso
  • Fazer um loop até que os xincludes() estejam zerados (até tentei, fiz um PR no doc-base, mas o build não passou em algumas traduções, aí fechei o PR número 192 por enquanto).

@leonardolara
Copy link
Contributor Author

O original em inglês foi revisto, removendo os includes aninhados. Problema resolvido, por enquanto.

@alfsb
Copy link
Member

alfsb commented Dec 2, 2024

Duas alternativas:

  • Atualizar a libxml2 do repo e ver se o build é concluído com sucesso

Isso é com o pessoal do arroba system e/ou o pessoal do arroba web-doc. Ainda não parei para ver a discussão de para onde está indo.

  • Fazer um loop até que os xincludes() estejam zerados (até tentei, fiz um PR no doc-base, mas o build não passou em algumas traduções, aí fechei o PR número 192 por enquanto).

Isso resolve e/ou simula a atualização da libxml2? Que se sim, é algo a sugerir a sério de ser colocado. Porém, evitar loops infinitos nesse caso (que senão pode virar um billion laughs, mesmo sem querer). Rodar até 10 vezes deve ser o suficiente.

Sobre algumas linguagens estar quebrado, isso é esperado, infelizmente. O que você tem de testar é se as alterações não geram novas quebras. Mas isso que você está vendo é o log do GitHub. É uma boa antecipação sim, mas teria ainda de olhar o log do servidor que compila, e isso eu não sei para onde foi, depois da última reestruturação.

@alfsb
Copy link
Member

alfsb commented Dec 2, 2024

O original em inglês foi revisto, removendo os includes aninhados. Problema resolvido, por enquanto.

Eu vou chegar bem tarde na discussão, e provavelmente propor uma coisa que vai soar muito estranha. De eu re-escrever o próprio mecanismo de XInclude 1.1, inteiro, no configure.php. Não só para lidar com is IDs duplicados, mas pelo jeito para lidar com XInclude recursivos.

@leonardolara leonardolara marked this pull request as draft December 2, 2024 10:54
@leonardolara
Copy link
Contributor Author

Ao reverter as revisões para o mesmo estado que o en atual, o pt_BR não completa o build.
Fiz alteração provisória no bcdiv.xml (o culpado), para evitar o erro de xinclude aninhado, somente enquanto esse problema é resolvido.

Vai aparecer nas ferramentas de QA, mas foi o melhor que consegui por enquanto.

Muito estranho o build funcionar em en e não funcionar em pt_BR mesmo apagando os arquivos para fallback em en. Eu acreditava que as configurações de CI (PHP, bibliotecas, SO) eram iguais para todas as traduções.

@alfsb
Copy link
Member

alfsb commented Dec 2, 2024

Muito estranho o build funcionar em en e não funcionar em pt_BR mesmo apagando os arquivos para fallback em en. Eu acreditava que as configurações de CI (PHP, bibliotecas, SO) eram iguais para todas as traduções.

É que são três bus separados.

  1. Em algumas máquinas o XInclude roda recursivo, em outras não, e por isso os erros são diferentes.
  2. Rodar recursivo/não recursivo, muda a quantidade de XIncludes sem xi:failback, o faz alguns manuais falharem validação.
  3. Fazer o loop no XInclude causa o 2 onde o 1 não é recursivo, mas daí, o negócio já está maluco demais para ser compreensível.

Mandei um PR a pouco no doc-base, que tenta fechar os dois furos numa tacada só, e assim deixar o pessoal mais sossegado. Vamos ver se passa.

@alfsb
Copy link
Member

alfsb commented Dec 2, 2024

Ah sim, importante. As máquinas do CI são todas iguais na teoria, mas isso é irrelevante dado que:

  • sua máquina é diferente do CI
  • minha máquina é diferente do CI
  • as máquias com Windows de outros tradutores são completamente diferentes do CI, e
  • a servidor que compila o manual do PHP é diferente da máquina do CI

O último item é o mais relevante. O pessoal até estava migrando a compilação para containers, e isso diminuir a importância do último ponto, mas... no final, os tradutores não tem acesso ao CI exato da máquina de compilação final, e por isso dessas diferenças.

@alfsb
Copy link
Member

alfsb commented Dec 3, 2024

Consegui emplacar a alteração que ajusta, conjuntamente, xinclude() em loop mais algumas marretadas no XML das traduções. Deve dar para sincronizar a tradução agora sem erros.

@leonardolara
Copy link
Contributor Author

configure.php in doc-base updated, this issue can now be closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants