The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Утверждено обеспечение повторяемых сборок в Fedora 43

12.04.2025 13:42

Комитет FESCo (Fedora Engineering Steering Committee), отвечающий за техническую часть разработки дистрибутива Fedora Linux, утвердил проект по обеспечению повторяемых сборок пакетов в осеннем выпуске Fedora 43. Целью инициативы заявлена возможность применения повторяемых сборок для не менее, чем 99% пакетов в репозитории.

Повторяемые сборки дадут возможность формировать собственные RPM-пакеты, совпадающие с предлагаемыми для загрузки готовыми бинарными пакетами. Совпадения обеспечивается на уровне основных метаданных и включённых в пакет файлов (отличаться будут только метаданные со временем сборки, сборочным хостом и заверением цифровой подписью). Пользователь сможет лично убедиться, что распространяемые в пакетах бинарные файлы собраны из предоставляемых исходных текстов и не содержат скрытых изменений. Проверка тождественности бинарной сборки позволяет не полагаться лишь на доверие к сборочной инфраструктуре дистрибутива, компрометация компилятора или сборочного инструментария в которой может привести к подстановке скрытых закладок.

Помимо безопасности повторяемые сборки также будут полезны для контроля качества - проблемы при попытке добиться повторяемых сборок часто вызваны ошибками или беспорядком в коде, например, использованием в пакетах, помеченных как "noarch", зависимостей, привязанных к определённым аппаратным архитектурам. Повторяемые сборки также упростят разработку пакетов - после небольших правок пересобранные пакеты будут отличаться только элементами, непосредственно связанными с внесённым изменением, что значительно упростит сравнение версий пакетов и анализ изменений.

При формировании повторяемых сборок учитываются такие нюансы, как точное соответствие зависимостей; использование неизменного состава и версий сборочного инструментария; идентичный набор опций и настроек по умолчанию; сохранение порядка сборки файлов (применение тех же методов сортировки); отключение добавления компилятором непостоянной служебной информации, такой как случайные значения, ссылки на файловые пути и данные о дате и времени сборки. На воспроизводимость сборок также влияют ошибки и состояния гонки в инструментарии.

Инфраструктура проекта Fedora уже подготовлена к осуществлению повторяемых сборок. Например, в прошлых выпусках в сборочную систему внесены изменения, синхронизирующие метаданные о времени модификации файлов с эталонным исходным кодом (mtime теперь не зависит от времени сборки), а также обеспечивающие постоянный порядок перечисления метаданных и структур в бинарных файлах. На данном этапе охват повторяемыми сборками оценивается в 90%. Для обеспечения повторяемых сборок в оставшихся 10% требуется участие мэнтйнеров проблемных пакетов. Для стимулирования внесения исправлений в подобные пакеты, сбои при осуществлении повторяемых сборок намерены трактовать как ошибки при сборке.

Похожие проекты по обеспечению поддержки повторяемых сборок также развивают дистрибутивы Debian, Arch Linux, openSUSE и NixOS.

  1. Главная ссылка к новости (https://lists.fedoraproject.or...)
  2. OpenNews: В Live-образах Debian 12 реализована поддержка повторяемых сборок
  3. OpenNews: openSUSE тестирует поддержку повторяемых сборок
  4. OpenNews: В NixOS предложен метод защиты от подстановки бэкдоров, таких как в XZ
  5. OpenNews: Связывание повторяемых сборок GNU Guix с архивом исходных текстов Software Heritage
  6. OpenNews: Уязвимости в Pagure и OBS, допускавшие компрометацию пакетов в репозиториях Fedora и openSUSE
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63061-fedora
Ключевые слова: fedora, build
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (40) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 14:18, 12/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А как насчёт RPMFusion?
     
     
  • 2.2, Аноним (2), 14:33, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Тсс, не спугни, а то снова передумают
     
     
  • 3.39, Аноним (39), 07:33, 13/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >это позор для Fedora/RHEL

    Позор или не позор, а патентное законодательство.
    Так практически везде.
    В Arch Aur.
    В Fedora RPMFusion.
    В OpenSUSE Packman.
    Можно, конечно, использовать Flatpak, но там очень много unverified программ, что не сильно лучше использования сторонних репозиториев.
    Вот и выходит, что дистрибутивов больше, чем атомов в видимой части Вселенной, а выбор для домашней пекарни не такой уж и большой.
    По сути это или Debian, устаревший ещё до выхода релиза, или Ubuntu со своими снапами. Возможно ещё Solus, у которого 1,5 пакета в репозиториях и непонятное будущее.

     
  • 2.22, Аноним (22), 18:00, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что такое RPMFusion?

    Если без сарказма, то это непонятная репа, у которой нет никаких гарантий вообще.

    Любой бинарный пакет оттуда может идти с malware/backdoors, и никто за это никогда отвечать не будет.

    IBM/RedHat не имеют к нему _никакого_ отношения.

    Про ферму для сборки неизвестно _ничего_.

    Честно говоря, это позор для Fedora/RHEL, но люди хавают.

     
     
  • 3.24, Аноним (24), 18:45, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Честно говоря, это позор для Fedora/RHEL, но люди хавают.

    Для RHEL все равно. Там вопрос открытости ПО не так важен, + весь софт тянут через флатпаки и прочие платформы для контейнеризации.

    А по поводу Fedora: нууу, это ядерный полигон Red Hat. Там все равно, что юзеры хавают, и как они это хавают. Как бы no warranties. Главное, что соблюдена формальность, и в своих нет проприетарного ПО.

    Тот же Silverblue - чисто PoC, на деле этим пользоваться не будут. Те же флатпаки Федоры имеют приоритет выше, чем флатпаки Flathub, соответственно в них тоже не будет всех нужных кодеков.

     
     
  • 4.28, Аноним (-), 19:36, 12/04/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.27, r2d0 (?), 19:21, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как жить на федоре без кодеков из rpm fusion?
     
     
  • 4.29, Аноним (29), 20:21, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Flatpak.
     
  • 4.43, Аноним (43), 18:30, 13/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я собираю из исходников from day 1.

    Не федоровские пакеты на моей системе:

    * Из исходников: x264, x265, ffmpeg, fdk-aac, faad2-libs, ffmpeg, Audacious (версия в fedora собрана не так, как мне надо), Wine (федоровская сборка ужасна).
    * Бинарники: Firefox/Thunderbird от Mozilla, tar.xz и Chrome от Google.
    * И NVIDIA драйвера.

     
     
  • 5.44, Аноним (43), 18:31, 13/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Забыл ещё mpv и simplescreenrecorder.
     
  • 2.37, Илья (??), 06:44, 13/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Его можно не подключать, а просто из Flathub установить VLC
     
     
  • 3.38, Аноним (39), 07:24, 13/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >из Flathub установить VLC

    Который unverified?
    Нет, спасибо.

     
     
  • 4.40, Аноним (29), 10:52, 13/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И что ты этим хотел сказать?

    Возможно, тебя это удивит, но большиство, если не все программы в твоём дистрибутиве собраны не их разработчиками, а мейнтенерами дистрибутива. Они точно такие же "unverified".

     
     
  • 5.41, Аноним (41), 11:41, 13/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, меня это не удивляет, я это и так знаю.
    А сказать я хотел то, что доверия к команде дистрибутива больше по определению.
    Далее идут (наравне) авторы программ.
    А уже потом разные сборки от третьих лиц flatpak, snap, ppa etc.
     

  • 1.6, Аноним (6), 15:00, 12/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > утвердил проект по обеспечению повторяемых сборок пакетов в осеннем выпуске Fedora 43. Целью инициативы заявлена возможность применения повторяемых сборок для не менее, чем 99% пакетов в репозитории.

    Звучит как "невесту только что сосватали" )

     
     
  • 2.13, Аноним (13), 16:24, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для бэкдоров 1% более чем достаточно.
     

  • 1.7, Ghosty (?), 15:11, 12/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Желающие уже могут скачать и установить финальную версию Fedora 42. Образ Fedora 42 RC 1.1 https://dl.fedoraproject.org/pub/alt/stage/42_RC-1.1/Workstation/x86_64/iso/ признан финальным и официально будет представлен 15 апреля.
     
     
  • 2.16, zionist (ok), 16:59, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Зачем бежать впереди паровоза? Всего-то три дня осталось.
     

  • 1.8, Аноним (8), 15:29, 12/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Простите бсдшника, далёкого от этих ваших четырнадцати стандартов пакетных систем в ляликсе, но почему нельзя сверять просто хэши (хэш+длина) файлов?
     
     
  • 2.11, безразницы (?), 16:17, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В моменте сборки пакета часть зависимостей и ресурсов может браться из интернетов если так захочется автору, и что там собралось в итоге и почему - вопрос нетривиальный.
     
  • 2.12, Аноним (2), 16:19, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://wiki.freebsd.org/ReproducibleBuilds
    https://freebsdfoundation.org/blog/zero-trust-builds-for-freebsd/
    действительно, почему в бсд нельзя сверять просто хэши (хэш+длина) файлов?
     
  • 2.14, Аноним (14), 16:28, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты кажется не от систем далек, а от CS и в целом от математики. Повторяемости невозможно достичь без избавления от сайд эффектов. Математически невозможно. Хэши он сверять будет, офигеть)
     
     
  • 3.26, Аноним (26), 19:02, 12/04/2025 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 2.15, Аноним (15), 16:48, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > При формировании повторяемых сборок учитываются такие нюансы, как точное соответствие зависимостей; использование неизменного состава и версий сборочного инструментария; идентичный набор опций и настроек по умолчанию; сохранение порядка сборки файлов (применение тех же методов сортировки); отключение добавления компилятором непостоянной служебной информации, такой как случайные значения, ссылки на файловые пути и данные о дате и времени сборки. На воспроизводимость сборок также влияют ошибки и состояния гонки в инструментарии.

    Бсдшнику простительно. Но всегда лучше читать, и только потом - комментировать.

     
  • 2.31, morphe (?), 23:10, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это для скачивания готовых бинарников, а воспроизводимость это про то чтобы хеши у бинарников собранных из исходников разными людьми совпадали.
     
  • 2.33, Я (??), 03:18, 13/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    прощаем, но вилы до переаттестации изымем, такие вещи так-то всякий чёрт знать должен..
     
  • 2.34, Аноним (34), 05:46, 13/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что:

    В бинарный файл записывается метаинформация сборки.

    Автор софта может записывать в программу вручную "build-date" чтобы потом где-то ее отобразить.

    И ещё много всяких извращений бывает в мире открытого ПО.

    Ящерам из фрибзд этого никогда не осмыслят, нужны инвестиции корпораций, года на принятия решения, чтобы потом какой-нибудь студент на google summer of code за бесплатно из сделал то что старым пердунам было не интересно.

     
     
  • 3.35, Аноним (34), 05:56, 13/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Также стоит добавить что это поможет немного сократить размер delta rpm (если бы на них не положили болт). Вообще линуксовый мир упаковщиков бинарных архивов скучен, вон под вендой репакеры сжимают игровые данные мощно применяя различные трансформеры и всякие технологии. Ровно также всякие steam и особенно epic games store применяют хорошие технологии сжатия, и особенно система патчей игровых данных видео инвестировали кучу мозгов.
     
     
  • 4.36, Аноним (34), 05:58, 13/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    видео = видно //fix.
     

  • 1.19, Аноним (19), 17:45, 12/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >компрометация компилятора или сборочного инструментария

    А толку то. ВсёСПО под винду собирается MSVC, который однажды поймали на встраивании в скомпилированные им программы "телеметрии".

     
     
  • 2.21, User (??), 17:55, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пффф. Gcc вот вовсе на встраивании лицензии ловили - было ваше, собрали и вжууух! Оно уже всехнее)
     
     
  • 3.47, Аноним (47), 17:36, 14/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не затруднится ли Дон привести пример бинарничка со встроенной компилятором лицензией. Нет, вставление текста лицензии в исходник не канает.
     
     
  • 4.48, User (??), 17:59, 14/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Не затруднится ли Дон привести пример бинарничка со встроенной компилятором лицензией.
    > Нет, вставление текста лицензии в исходник не канает.

    История, сколько там? Пятнадцатилетней давности, которая привела к появлению исключения из gplv3 мимо прошла? Ну, бывает...

     
  • 4.53, Аноним (-), 17:31, 17/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Можешь почитать тут, как появилась GCC Runtime Library Exception
    ebb.org/bkuhn/blog/2009/01/27/gcc-exception.html

    TL/DR самый интересный абзац
    Specifically, when you compile a program with gcc, parts of GCC itself, called the runtime library (and before that, crt0), are combined directly with your program in the output binary. The binary, therefore, is both a derivative work of your source code and a derivative work of the runtime library. If GCC were pure GPL, every binary compiled with GCC would need to be licensed under the terms of GPL.

     

  • 1.20, Аноним (20), 17:49, 12/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну вот, и за что только на гентушников наезжают? А выходит, что у гентушников получается даже быстрее. Сам сэмёржил и всё. А федорианцев будет: скачал пакет собранный, скачал с исходниками, собрал свой бинарный, сравнил, поставил.
     
  • 1.25, Аноним (26), 19:01, 12/04/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.42, Аноним (42), 12:58, 13/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спустя десытилетие, повторяют возможности NixOS
     
  • 1.45, Аноним (45), 00:27, 14/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всегда казалось что детерминированность сборки билда из исходников в общем случае обеспечить невозможно
    Ну типо в компиляторах зашиты десятки (если не сотни) различных правил и трюков оптимизации результирующего кода и алгоритмы выбора подходящих оптимизаций включают в себя известную степень недетерминируемости.
    Еще в вузе демонстрировал преподавателю эксперимент: написал bash-скрипт который вызывал gcc для компиляции простой программки подсчета среднего арифметического 10000 раз. В 96% случаев в ассемблере была видна размотка цикла, в оставшихся 4% ее не было. Ответа от препода, почему так, так и не получил
     
     
  • 2.49, Мне хватает (?), 01:35, 15/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и ктотде смог вам растолковать столь слодныц вопрос?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру