Skip to content

msanft/systemd-repart-repro-bug

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

systemd-repart Reproducibility Bug Reproducer

This repository contains a minimal reproducing example for a reproducibility bug of systemd-repart, where directories in the temporary tree will have an undeterministic atime/mtime (current time).

To reproduce:

touch -amt 197001010000 os-tree/somefile
./bug.sh

This will invoke systemd-repart with the OS tree at os-tree, while hooking hook/mkfs.ext4 into the path to get an easy entrypoint for at-runtime inspection of the temporary directory created by systemd-repart. It will show that the timestamps of os-tree/somefile are persistent when being copied into the image at /somedir/somefile, but the directory that needs to be created in the local tree (/somedir) has an undeterministic atime/mtime, even though systemd-repart is invoked with []SOURCE_DATE_EPOCH](https://reproducible-builds.org/docs/source-date-epoch/), which is a problem for reproducibility.

Most likely, this is due to the use of xopenat_lock_full with O_CREAT when populating the temporary local tree.

About

systemd-repart Reproducibility Bug Example

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages