Bug 34105 - Добавить поддержку переменной окружения SOURCE_DATE_EPOCH в сборочную инфраструктуру
Summary: Добавить поддержку переменной окружения SOURCE_DATE_EPOCH в сборочную инфраст...
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: cross-component (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Dmitry V. Levin
QA Contact: Dmitry V. Levin
URL: https://reproducible-builds.org/specs...
Keywords:
Depends on: 32814 34200 34202 34203
Blocks: 34214 34231
  Show dependency tree
 
Reported: 2017-10-31 13:26 MSK by Vladimir D. Seleznev
Modified: 2020-04-21 23:29 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir D. Seleznev 2017-10-31 13:26:55 MSK
Для обеспечения воспроизводимости сборки необходимо добавить поддержку переменной окружения SOURCE_DATE_EPOCH в инструменты сборочной инфраструктуры. Сейчас поддержка SOURCE_DATE_EPOCH добавлена в основные пакеты, участвующие в сборке программного обеспечения (компиляция, генерация документации и др.), необходимо добавить её и инструменты, участвующие непосредственно в сборке пакетов: gear, hasher и rpm-build.

Пока предполагается, что в SOURCE_DATE_EPOCH будет записываться дата подписи (git-тега, если собирать из gear, или же подпись src.rpm в противном случае). В таком случае при сборке из gear должен передавать SOURCE_DATE_EPOCH дальше в hasher.
Comment 1 Dmitry V. Levin 2017-11-20 19:43:30 MSK
Поддержка $SOURCE_DATE_EPOCH в сборочной инфраструктуре реализована в следующем виде:
* при сборке из подписанного git-тэга rpmbuild'у передаётся переменная SOURCE_DATE_EPOCH, содержащая tagger timestamp;
* при сборке из подписанного srpm-пакета rpmbuild'у передаётся переменная SOURCE_DATE_EPOCH, содержащая buildtime этого пакета;
* rpmbuild учитывает $SOURCE_DATE_EPOCH при формировании пакетов.
Comment 2 Michael Shigorin 2020-04-21 22:28:41 MSK
Так понимаю, об этом же нынешняя сборка 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.
Comment 3 Dmitry V. Levin 2020-04-21 23:29:40 MSK
(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.