Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make times in iso images reproducible #27

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

JanZerebecki
Copy link
Member

@JanZerebecki JanZerebecki commented Jun 9, 2023

by replacing mkisofs with xorriso, which enables reproducible mode when
environment variable SOURCE_DATE_EPOCH is set.

@JanZerebecki JanZerebecki force-pushed the iso-times-reproducible branch from a0eb22d to 50d2e04 Compare June 19, 2023 12:52
@JanZerebecki JanZerebecki force-pushed the iso-times-reproducible branch from 50d2e04 to e2a2c75 Compare June 30, 2023 16:38
@JanZerebecki JanZerebecki force-pushed the iso-times-reproducible branch 4 times, most recently from 020998d to 2200bc1 Compare July 28, 2023 16:10
@adrianschroeter
Copy link
Member

This means we would pin all file timestamps now to the time of the kiwi file sources, right?

So, in most cases the binary files (rpms) are changing without changing the kiwi file source. So we would get iso files where the timestamp of the rpms is older then their build time.

In practice this wouldn't matter most likely, but what is the point of this at all?

Shouldn't the files which are changing also get new timestamps?

@JanZerebecki JanZerebecki force-pushed the iso-times-reproducible branch from 2200bc1 to 622032d Compare August 15, 2023 18:54
@JanZerebecki
Copy link
Member Author

No, changed files should not get new timestamps if that is only the result of build inputs changing. It is a side effect of how https://reproducible-builds.org/docs/source-date-epoch/ is defined, though that link lacks a discussion of that side effect, which I should add there. One reason is to avoid unnecessarily rebuilding things.

Btw. only a top level source should record the exact hashes of build inputs. In a OS distribution that would be what defines which source packages are part of the distribution.

The point of all this is to have the iso be bit wise reproducible to among others be able to detect security compromises of builds. For that openSUSE/product-builder-plugins#16 is also needed. But there is a signature in the iso that will probably remain the only non-reproducible bits, for which we need a different solution, probably a way to replace them in existing build results.

@JanZerebecki JanZerebecki force-pushed the iso-times-reproducible branch 3 times, most recently from 7c651cf to 7590bb6 Compare August 21, 2023 12:36
@JanZerebecki JanZerebecki force-pushed the iso-times-reproducible branch 3 times, most recently from 61dfdff to 0bf04c1 Compare September 1, 2023 16:26
by replacing mkisofs with xorriso, which enables reproducible mode when
environment variable SOURCE_DATE_EPOCH is set.
@JanZerebecki JanZerebecki force-pushed the iso-times-reproducible branch from 0bf04c1 to aaa048f Compare September 5, 2023 18:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants