-
Notifications
You must be signed in to change notification settings - Fork 138
feat: support reproducible images #317
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
Conversation
b13804b to
ea91d86
Compare
|
Thanks for this @frezbo . I am quite in favour of this. I have used reproducible builds in other spaces, notably OS builds, and like the ideas behind it. I have some thoughts on the implementation details. First, it needs a rebase, since #316 went in, which fixes some issues with fat32 images Second, I like how you added it to the Which leads to wondering if a boolean A sight variant would be to have Either way, Thoughts? |
|
Ah, you rebased I just saw. |
|
Also, lint failed. |
Makes sense I can pass in a |
ea91d86 to
0f433c2
Compare
I didn't quite understand that. What is the problem case? |
Setting time inside My example was creating files on an elready existing FAT32 file, created with |
0f433c2 to
5f2db5b
Compare
|
Oh, I think I see. You are not worrying about the timestamp when you create the filesystem (although that matters, too), but (also) about what happens when I already have a filesystem (accessed via |
Yes, correct, using |
Ah, I get it. So it makes sense to have all of these resolved inside the specific use case (here, fat32). I rather like it. In the case, I have only two suggestions:
|
5f2db5b to
8adbe03
Compare
done |
Support reproducible fat32 images as like `mkfs.vfat --invariant`. This also supports creating files and directories with with the value of `SOURCE_DATE_EPOCH` when set as per https://reproducible-builds.org/ providing a way to create reproducible filesystems. Signed-off-by: Noel Georgi <[email protected]>
8adbe03 to
d1eea98
Compare
deitch
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thank you for this.
|
|
||
| got := timestamp.GetTime() | ||
| expected := tt.expectedTimeFunc() | ||
| if !got.Truncate(time.Second).Equal(expected.Truncate(time.Second)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like how you did this.
Support reproducible fat32 images as like
mkfs.vfat --invariant.This also supports creating files and directories with with the value of
SOURCE_DATE_EPOCHwhen set as per https://reproducible-builds.org/ providing a way to create reproducible filesystems.