Erro de 150 MB força FreeBSD a congelar repositório de ports e reescrever histórico

Erro de 150 MB força FreeBSD a congelar repositório de ports e reescrever histórico

A equipe principal do FreeBSD precisou congelar temporariamente as atualizações do repositório de ports após um incidente técnico inesperado. A inclusão de um arquivo binário gigantesco rompeu o espelhamento oficial do projeto no GitHub e exigiu uma intervenção direta dos mantenedores para limpar o histórico de versões do sistema.

O problema ocorreu devido às restrições da infraestrutura externa. O GitHub possui um limite rígido que impede envios de arquivos maiores que 100 MB. Quando um commit contendo um arquivo de 150 MB foi registrado na árvore de ports do FreeBSD, o sincronismo com a plataforma da Microsoft falhou imediatamente, cortando o acesso às atualizações para a comunidade que acompanha o código por lá.

Limites do GitHub e licenciamento questionável

Em comunicado oficial assinado por Kyle Evans em nome do core team, o projeto explicou que o arquivo não apenas violava o limite de tamanho, mas também trazia um bloco de dados com licenciamento questionável. A combinação desses dois fatores forçou a equipe a bloquear novos envios por quase 24 horas.

A administração deixou claro que não houve nenhuma invasão, falha de segurança ou comprometimento da infraestrutura do sistema operacional. O congelamento da árvore de ports teve o objetivo prático de evitar que outros desenvolvedores continuassem enviando modificações válidas em cima do erro. Quanto menos commits se acumulassem após a falha, mais fácil seria o trabalho de reversão.

Impacto para administradores e reescrita do Git

Para resolver a situação de forma definitiva, o FreeBSD precisará reescrever o histórico do repositório. O processo vai apagar os registros do arquivo irregular, garantindo que o espelhamento no GitHub volte a funcionar sem esbarrar no limite de 100 MB.

Essa mudança estrutural afeta diretamente administradores de sistemas e usuários que mantêm cópias locais (checkouts) da árvore de ports. Como o passado do repositório será alterado, os repositórios locais ficarão fora de sincronia. A equipe informou que publicará instruções detalhadas de como os usuários deverão atualizar seus ambientes para absorver a correção de forma segura.

Para garantir a transparência da operação, o projeto também fornecerá um procedimento para que a própria comunidade possa auditar a reescrita do código, comprovando que apenas o arquivo problemático foi removido. Como medida de precaução final, novos bloqueios automáticos no servidor (hooks) estão sendo implementados para barrar arquivos gigantes antes que eles cheguem ao repositório central no futuro.