Для обеспечения воспроизводимости сборки необходимо добавить поддержку переменной окружения SOURCE_DATE_EPOCH в инструменты сборочной инфраструктуры. Сейчас поддержка SOURCE_DATE_EPOCH добавлена в основные пакеты, участвующие в сборке программного обеспечения (компиляция, генерация документации и др.), необходимо добавить её и инструменты, участвующие непосредственно в сборке пакетов: gear, hasher и rpm-build. Пока предполагается, что в SOURCE_DATE_EPOCH будет записываться дата подписи (git-тега, если собирать из gear, или же подпись src.rpm в противном случае). В таком случае при сборке из gear должен передавать SOURCE_DATE_EPOCH дальше в hasher.
Поддержка $SOURCE_DATE_EPOCH в сборочной инфраструктуре реализована в следующем виде: * при сборке из подписанного git-тэга rpmbuild'у передаётся переменная SOURCE_DATE_EPOCH, содержащая tagger timestamp; * при сборке из подписанного srpm-пакета rpmbuild'у передаётся переменная SOURCE_DATE_EPOCH, содержащая buildtime этого пакета; * rpmbuild учитывает $SOURCE_DATE_EPOCH при формировании пакетов.
Так понимаю, об этом же нынешняя сборка rpm-build? * Tue Apr 21 2020 Dmitry V. Levin <ldv@altlinux.org> 4.0.4-alt139 - ldd.in: made preloading of PIE objects work again. - Set the value of SOURCE_DATE_EPOCH environment variable (if any) as the source package buildtime.
(In reply to Michael Shigorin from comment #2) > Так понимаю, об этом же нынешняя сборка rpm-build? > > * Tue Apr 21 2020 Dmitry V. Levin <ldv@altlinux.org> 4.0.4-alt139 > - ldd.in: made preloading of PIE objects work again. > - Set the value of SOURCE_DATE_EPOCH environment variable (if any) > as the source package buildtime. Это для того, что написано в коммите: packageSources: override RPMTAG_BUILDTIME with $SOURCE_DATE_EPOCH When hasher generates an src.rpm from pkg.tar, it sets $SOURCE_DATE_EPOCH according to pkg.tar's specfile modification time which in turn is set to the corresponding commit time. When hasher builds from an src.rpm, it sets $SOURCE_DATE_EPOCH according to the src.rpm's RPMTAG_BUILDTIME. This changes helps to connect these two stages, setting the RPMTAG_BUILDTIME of the generated src.rpm to $SOURCE_DATE_EPOCH.