Skip to content

Conversation

@tamilari
Copy link
Contributor

No description provided.

@tamilari tamilari force-pushed the fm/tar-reproducible branch 3 times, most recently from 79ac550 to 1664088 Compare October 24, 2025 12:03
@tamilari tamilari marked this pull request as ready for review October 24, 2025 12:10
@Urist-McGit
Copy link
Collaborator

Can you provide a test for this functionality? Messing around with owners and the directory listing order is not needed I think, but the timestamp could be tested.

@Urist-McGit
Copy link
Collaborator

We also compress the tarball, there might be some reproducibility issues there too. For example for gzip you should use the --no-name option. You would need to look at all the compressions we provide and find out what is needed for them to be reproducible.

@Urist-McGit
Copy link
Collaborator

For compatibility reasons (#100) it might also be useful to have the timestamp as option for the CLI.

@tamilari tamilari marked this pull request as draft October 27, 2025 09:15
@tamilari tamilari force-pushed the fm/tar-reproducible branch 4 times, most recently from ddc62d8 to 85046ad Compare October 29, 2025 13:56
@tamilari tamilari marked this pull request as ready for review October 29, 2025 14:28
@Urist-McGit
Copy link
Collaborator

62f4dc4 is two commits: one that fixes the unclosed session and one that refactors the session handling. Please split it

@Urist-McGit
Copy link
Collaborator

Same goes for 85046ad: split them so the first commit adds lz4 to the parametrized test, and the second adds the mtime tests.

Copy link
Member

@fmoessbauer fmoessbauer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, this already looks pretty good. Just some minor aspects.

@tamilari tamilari force-pushed the fm/tar-reproducible branch from 85046ad to b734ff1 Compare October 30, 2025 10:11
@tamilari tamilari marked this pull request as draft October 30, 2025 10:12
@tamilari tamilari force-pushed the fm/tar-reproducible branch from b734ff1 to dba28ff Compare October 30, 2025 14:54
@tamilari tamilari marked this pull request as ready for review October 30, 2025 14:55
@tamilari tamilari force-pushed the fm/tar-reproducible branch 2 times, most recently from c512183 to 0d3e1a2 Compare October 31, 2025 14:30
Copy link
Member

@fmoessbauer fmoessbauer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Please rebase and also remove the obsolete TODO in my patch.

fmoessbauer and others added 8 commits November 3, 2025 14:27
As a preparation to repack reproducible, we pin the owner and sorting of
the files within the tar.

Signed-off-by: Felix Moessbauer <[email protected]>
To achieve repack reproducible, use the timestamp from the latest
changelog for tar creation.
Use the -n / --no-name gzip option to not save the original timestamp.

Closes: siemens#100 ("reproducible result for source-merge")
Signed-off-by: Tamino Larisch <[email protected]>
Before, the --output option for the source-merge command was just
ignored.

Fixes: 3ad934d ("feat(merger): add infrastructure to create ...")
Signed-off-by: Tamino Larisch <[email protected]>
Move the input arguments that are useful for the source-merge and repack
commands into a mixin. This simplifies maintenance and prepares for the
addition of another option needed for both commands.

Signed-off-by: Tamino Larisch <[email protected]>
Add the --mtime cli option to the repack and source-merge commands. This
sets the mtime for the tar command.
If this option is not set, the timestamp from the most recent changelog
is used for reproducible builds, as before.

Signed-off-by: Tamino Larisch <[email protected]>
fixes: 221b60f ("test: use custom user agent in all online tests")
Signed-off-by: Tamino Larisch <[email protected]>
Use the http_session fixture with the custom user agent to download
"some_packages". To keep the session fixture scope from "some_packages",
the http_session fixture will now only be created once per session.
These test packages should only be downloaded once, even if they will be
required for additional tests in the future.

fixes: 221b60f ("test: use custom user agent in all online tests")
Signed-off-by: Tamino Larisch <[email protected]>
@tamilari tamilari force-pushed the fm/tar-reproducible branch from 0d3e1a2 to 9d5e9eb Compare November 3, 2025 13:29
This change aims to drastically reduce test times.

Signed-off-by: Tamino Larisch <[email protected]>
@tamilari tamilari force-pushed the fm/tar-reproducible branch from 9d5e9eb to f7fd852 Compare November 3, 2025 14:49
@fmoessbauer fmoessbauer merged commit 0337d3a into siemens:main Nov 3, 2025
11 checks passed
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.

3 participants