Упёрто с опеннета
Для Ъ:
Один из разработчиков KDE попытался проанализировать насколько реально воссоздать бинарный файл, идентичный распространяемым готовым сборкам, при наличии полных исходных текстов, на основе которых была произведена сборка. Таким образом была оценена возможность проверки собран ли представленный исполняемый файл из указанных исходных текстов и содержит ли то, что заявлено создателями сборки.
В качестве эксперимента было произведено сравнение исполняемых файлов, поставляемых в составе дистрибутивов Debian, Fedora и openSUSE, с исполняемым файлом, собранным из доступных пакетов с исходными текстами. Для теста выбран пакет с утилитой tar. В теории, зная все параметры сборки и версии используемых при сборке компонентов, можно воссоздать исходное сборочное окружение, сборка пакета с исходными текстами в котором должна привести к получению тождественных исполняемых файлов. На практике всё оказалось не так просто, при каждой сборке получались разные исполняемые файлы. Основной причиной различий является сохранение в исполняемом файле данных, связанных со временем сборки.
При оценке пересборки пакетов Debian результаты полностью оправдали предположения - различие составило 20 байт, и в этих байтах содержалась дата сборки. Для openSUSE и Fedora не удалось достигнуть повторяемости или хотя бы объяснить причину значительных различий. В качестве наиболее вероятной гипотезы отмечаются возможные отличия в сформированной для тестирования сборочной среде - для сборки использовалась текущая версия тестируемого дистрибутива, но не факт, что аналогичное окружение были использовано разработчиками, а даже при незначительных изменениях используемого инструментария результат меняется кардинально.
Полученные результаты свидетельствуют, что при распространении бинарных сборок недостаточно открывать доступ к коду под свободными лицензиями. Без приведения точной спецификации сборочной среды невозможно проверить на основе представленных исходных текстов собрано приложение или в нём использованы какие-либо модификации. Без возможности проверить тождественность бинарной сборки пользователю остаётся лишь слепо доверять выполнившему сборку сервису.
Думаю стоит дистрам стандартизиовать окружение для сборки. У меня на jessie tar собрался со 100500 различиями.
Дискасс.