git: 1c35520c47 - main - website: ports freeze news translated to Russian
Vladlen Popolitov <[email protected]> Sat, 25 Jul 2026 17:42:41 +0000
| Newsgroups | gmane.os.freebsd.devel.cvs.doc |
|---|---|
| Message-ID | <[email protected]> |
The branch main has been updated by vladlen: URL: https://cgit.FreeBSD.org/doc/commit/?id=1c35520c470a66c18fc3993d6bc506caa80df74d commit 1c35520c470a66c18fc3993d6bc506caa80df74d Author: Vladlen Popolitov <[email protected]> AuthorDate: 2026-07-25 17:42:33 +0000 Commit: Vladlen Popolitov <[email protected]> CommitDate: 2026-07-25 17:42:33 +0000 website: ports freeze news translated to Russian Reviewed by: maxim Differential Revision: https://reviews.freebsd.org/D58446 --- .../content/ru/news/2026-ports-freeze/_index.adoc | 101 ++++++++++++++++++++- website/data/ru/news/news.toml | 7 +- 2 files changed, 104 insertions(+), 4 deletions(-) diff --git a/website/content/ru/news/2026-ports-freeze/_index.adoc b/website/content/ru/news/2026-ports-freeze/_index.adoc index d60764f4ae..9e438bd9e6 100644 --- a/website/content/ru/news/2026-ports-freeze/_index.adoc +++ b/website/content/ru/news/2026-ports-freeze/_index.adoc @@ -4,12 +4,18 @@ sidenav: about loadNews: false --- +:doctype: book +:toc: macro +:toclevels: 2 + include::shared/ru/urls.adoc[] +toc::[] + = Заморозка репозитория портов 21 июля 2026 года -Репозиторий портов был заморожен начиная с вторника, 21 июля 2026 года. + -Нет никаких оснований полагать, что дерево было скомпрометировано. + +Репозиторий портов был заморожен начиная со вторника, 21 июля 2026 года. + +Нет никаких оснований полагать, что дерево портов было скомпрометировано. + Эта страница будет документировать данную заморозку. + :toc: @@ -21,9 +27,12 @@ include::shared/ru/urls.adoc[] https://lists.freebsd.org/archives/freebsd-announce/2026-July/000294.html +_**From:**_ Kyle Evans <kevans_at_FreeBSD.org> + +_**Date:**_ Wed, 22 Jul 2026 20:58:21 UTC + Вы, возможно, заметили, что репозиторий портов заморожен уже почти 24 часа на момент написания этого сообщения. Наше заявление о ситуации и дальнейших действиях приведено ниже. -В дерево портов недавно был зафиксирован бинарный файл размером 150 МБ, и в результате этого core@ принял решение о временной заморозке дерева портов для проведения очистки. Указанный коммит нарушил зеркалирование нашего дерева портов на github.com из-за жёсткого ограничения на размер файлов в 100 МБ, а также внёс в историю репозитория объект с сомнительной лицензионной чистотой. +В дерево портов недавно был сделан коммит бинарного файла размером 150 МБ, и в результате этого core@ принял решение о временной заморозке дерева портов для проведения очистки. Указанный коммит нарушил зеркалирование нашего дерева портов на github.com из-за жёсткого ограничения на размер файлов в 100 МБ, а также внёс в историю репозитория объект с сомнительной лицензионной чистотой. Учитывая важность зеркалирования на github.com для нашего сообщества, мы активно предпринимаем шаги по удалению проблемных коммитов и восстановлению зеркалирования на внешние сервисы. Нет никаких оснований полагать, что дерево портов было скомпрометировано. Заморозка была полностью направлена на ограничение количества коммитов, которые потребуется переписать для приведения репозитория к корректному состоянию. @@ -38,3 +47,89 @@ https://lists.freebsd.org/archives/freebsd-announce/2026-July/000294.html С уважением, Кайл Эванс (от имени core@) + +[[announce-action]] +== Объявление: 24 июля 2026 года + +Второе объявление было опубликовано в https://lists.freebsd.org/archives/freebsd-announce/[списке рассылки announce@]. + +https://lists.freebsd.org/archives/freebsd-announce/2026-July/000295.html + +_**From:**_ Kyle Evans <kevans_at_FreeBSD.org> + +_**Date:**_ Fri, 24 Jul 2026 17:48:16 UTC + +=== ПРЕДЫСТОРИЯ + +20 июля 2026 года в дерево портов был сделан коммит бинарного файла размером 150 МБ, что привело к сбою зеркалирования на GitHub и, возможно, на другие Git-форжи из-за жёсткого ограничения на размер файлов в 100 МБ. +Кроме того, остаётся неясным, позволяет ли лицензия бинарного файла его распространение таким образом. + +21 июля 2026 года core@ узнал о нарушении зеркалирования и запросил приостановку отправки изменений (push) в репозиторий портов на время оценки ситуации. +В ходе обсуждений в последующие часы между участниками групп gitadm@, clusteradm@, portmgr@ и core@ был выработан предварительный план по переписыванию истории репозитория для удаления проблемного файла. +При этом было согласовано ограничение, согласно которому результирующее состояние должно быть воспроизводимо третьими сторонами и не должно создавать избыточной нагрузки на конечных потребителей дерева портов. + +Решение о том, что результирующее состояние должно быть воспроизводимо третьими сторонами, было принято исходя из общего мнения, что мы не должны требовать слепого доверия и что мы должны предоставить нашим пользователям и потребителям возможность следовать тем же принципам. +Хотя `git rebase` может легко удалить проблемные коммиты, это налагает бо́льшую нагрузку на аудит со стороны сообщества, поскольку переписываются имена коммиттеров и временные метки. +Это также затрагивает сообщества, имеющие форки дерева портов. +Предоставление механизма для повторения этой операции имеет потенциальное влияние, выходящее далеко за пределы нашего собственного сообщества, и мы благодарим вас за понимание и терпение, пока мы работали над правильным решением. + + +=== ТРЕБУЕМЫЕ ДЕЙСТВИЯ + +Хеши коммитов в ветке `main` для коммитов после a70c5c3fd44b были изменены, что может повлиять на использование вами дерева портов. +Для всех потребителей дерева портов ожидается, что скрипт воспроизведения, ссылка на который приведена ниже, приведёт состояние вашего репозитория в соответствие с новым состоянием авторитетного репозитория, но это не единственный вариант. + +Для коммиттеров и контрибьюторов: ожидающие пул-реквесты и локальные ветки необходимо перебазировать поверх новой истории. +Например: + +[source,shell] +---- +git rebase --onto f9c90a4f96f0700 0a717e9c118aa6 +---- + +Где "0a717e9c118aa6" следует заменить на _старый_ хеш коммита вышестоящего репозитория (upstream), на котором основана ваша ветка. + +Патч-файлы не должны быть затронуты, поскольку переписывание было ограничено портом misc/github-copilot-cli. + +Для потребителей (downstreams): рекомендуется запустить приведённый ниже скрипт воспроизведения, особенно если у вас есть локальные изменения в вашем дереве. +Скрипт удалит все криптографические подписи существующих коммитов после коммита с бинарным файлом для достижения воспроизводимости. +Обратите внимание, что в скрипт встроены два хеша коммитов, которые необходимо изменить, если ваша ветка содержит локальные изменения, которые могут сделать их недействительными. Инструкции по замене включены в комментарии. + + +=== ПРОЗРАЧНОСТЬ + +Скрипт, использованный для переписывания истории коммитов, доступен для независимой проверки и воспроизведения результирующего состояния: + +https://www.freebsd.org/news/2026-ports-freeze/ports-reset.sh + +SHA256 (ports-reset.sh) = 9f954e7e229a1f3f0c452a98c433d70a0dbd265fc528bca6d082068d154536e8 + +Этот скрипт следует запускать внутри рабочей копии дерева портов. Обратите внимание, что он не пытается полностью удалить предыдущую версию вашей ветки. +Восстановление возможно путём получения предыдущего хеша коммита из `git reflog`, если локальная версия вашей ветки не имеет удалённого репозитория для восстановления. +Сборка мусора Git со временем очистит старую ветку в вашем репозитории. + +=== ДАЛЬНЕЙШИЕ ШАГИ + +Примечания к коммитам будут добавлены как к переписанным коммитам в ветке `main`, так и к коммитам в этом диапазоне, которые были перенесены (backported) в 2026Q3, с указанием старых и новых хешей коммитов наименее инвазивным способом. +Мы считаем, что планка для переписывания ветки с обновлениями безопасности значительно выше, и мы решили принять тот факт, что пять коммитов будут иметь некорректные сообщения, ссылающиеся на недействительные хеши коммитов при cherry-pick. + +Серверные хуки внедряются во всех трёх репозиториях для предотвращения будущих инцидентов подобного рода. +Точная конфигурация ещё не полностью доработана, но предполагается, что будет установлен жёсткий верхний предел размера файлов, а также некоторые более низкие «мягкие» ограничения, для превышения которых потребуется `--push-option` или одобрение portmgr/srcmgr/doceng. +Будут рассмотрены отдельные хуки для проверки лицензирования бинарных артефактов, вносимых в репозиторий. + +=== ЗАКЛЮЧЕНИЕ + +Огромная благодарность всем участникам реагирования на инцидент за время, потраченное на то, чтобы обеспечить выполнение этой операции способом, +поддающимся аудиту, воспроизводимым и с учётом огромного влияния как заморозки репозитория, так и предстоящего переписывания. +Переписывание истории коммитов не было решением, принятым легкомысленно, но было признано, что затраченное время на правильное выполнение было наименее плохим вариантом как для проекта, так и для внешних деревьев портов, которые могут иметь свои собственные изменения, следующие за проблемными коммитами. + +Особая благодарность clusteradm@ за согласие с планом переписывания истории, глядя на длинный список инфраструктуры кластера, которую необходимо будет исправить в результате. + +Дерево портов будет разморожено для обычных операций в ближайшие часы, но восстановление инфраструктуры будет проводиться в течение следующей недели. +Кластерные сборки пакетов не будут перезапущены немедленно, но возобновятся не позднее 26 июля 2026 года. + +С уважением, + +Рене Ладан (от имени portmgr@) +Кайл Эванс (от имени core@) + +Копия этого сообщения доступна отдельно для проверки по адресу: +https://people.freebsd.org/~kevans/core/ports-freeze-final.txt.asc diff --git a/website/data/ru/news/news.toml b/website/data/ru/news/news.toml index 5decf3daba..ddefae8d81 100644 --- a/website/data/ru/news/news.toml +++ b/website/data/ru/news/news.toml @@ -1,9 +1,14 @@ # Новости сортируются по году, месяцу и дню +[[news]] +date = "2026-07-24" +title = "Требуемые действия с репозиторием Ports" +description = "Опубликован подробный отчёт о заморозке репозитория портов, включающий инструкции по восстановлению рабочей копии и скрипт для воспроизведения изменений истории. Дополнительная информация о заморозке и дополнительных действиях доступна на странице <a href=\"https://www.FreeBSD.org/ru/news/2026-ports-freeze/#announce-action\">Заморозка портов 2026</a>." + [[news]] date = "2026-07-23" title = "Доступ в репозиторий Ports временно приостановлен" -description = "Репозиторий портов заморожен для отката очень крупного коммита. Нет никаких оснований полагать, что дерево было скомпрометировано. Дополнительная информация о заморозке доступна на странице <a href=\"https://www.FreeBSD.org/ru/news/2026-ports-freeze/\">Заморозка портов 2026</a>." +description = "Репозиторий портов заморожен для отката очень крупного коммита. Нет никаких оснований полагать, что дерево портов было скомпрометировано. Дополнительная информация о заморозке доступна на странице <a href=\"https://www.FreeBSD.org/ru/news/2026-ports-freeze/\">Заморозка портов 2026</a>." [[news]] date = "2026-06-30"