Разработчики проекта openSUSE объявили об обеспечении поддержки повторяемых сборок в репозитории openSUSE Factory, который применяет модель непрерывного цикла обновления версий программ (rolling-обновления) и служит основой для построения дистрибутива openSUSE Tumbleweed. Сборочная конфигурация openSUSE Factory теперь позволяет убедиться, что распространяемые в пакетах бинарные файлы собраны из предоставляемых исходных текстов и не содержат скрытых изменений. Например, любой пользователь может лично проверить, что предлагаемые сборки побитово совпадает со сборками, собранными лично из исходных текстов.
При формировании повторяемых сборок учитываются такие нюансы, как точное соответствие зависимостей, использование неизменного состава и версий сборочного инструментария, идентичный набор опций и настроек по умолчанию, сохранение порядка сборки файлов (применение тех же методов сортировки), отключение добавления компилятором непостоянной служебной информации, такой как случайные значения, ссылки на файловые пути и данные о дате и времени сборки.
Возможность проверить тождественность бинарной сборки позволяет не полагаться лишь на доверие к сборочной инфраструктуре, компрометация компилятора или сборочного инструментария в которой может привести к подстановке скрытых закладок. Например, повторяемые сборки использовались разработчикам openSUSE для исключения вредоносных модификаций, которые могли появиться в репозитории в результате инцидента с добавлением бэкдора в пакет xz (скомпрометированная библиотека liblzma, задействованная для распаковки архива с кодом GCC, потенциально могла внести в код GCC изменения, которые могли применяться для подстановки вредоносных элементов в собираемые приложения).
Репозиторий Factory не предназначен для конечных пользователей и в основном используется разработчикам дистрибутива, так как в нём не гарантируется стабильность в любой момент времени. Добавляемые в Factory системные пакеты проходят автоматизированное тестирования при помощи инструментария openQA. После завершения тестирования и проверки непротиворечивого состояния зависимостей несколько раз в неделю содержимое репозитория сбрасывается на зеркала и сформированный срез состояния публикуется как openSUSE Tumbleweed.
|