Quoting Todd Zullinger (2024-08-15 01:12:01) > Piper McCorkle wrote: > > On Wednesday, 14 August 2024 16:43:54 CDT Agathe Porte wrote: > >> Or maybe I could tar the upstream .git folder and store everything else > >> as plain files? But still a binary blob in source package. And > >> extracting the tar into a .git in the filesystem in /usr/share/ may > >> raise a lot of Lintian warnings? > > > > Perhaps you could include the contents of the git repo in the source > > package, > > then in d/rules run something like `cd usr/src/qmk_firmware && git init && > > cp > > files . && git add -A && git commit`. That way, you just have regular files > > in > > the source package, but you generate a synthetic Git repo in the build > > process. > > > > Reproducibility might be difficult, given that git uses the current date > > and > > such for creating commits. Doesn't sound insurmountable though! > > You can set GIT_AUTHOR_NAME and GIT_COMMITTER_DATE to use > SOURCE_DATE_EPOCH and export those vars (if there isn't a helper which does > this already in the Debian build tooling).
If you set GIT_COMMITTER_DATE, GIT_COMMITTER_NAME and GIT_COMMITTER_EMAIL then you can create bit-by-bit reproducible git commits with --date, --author and --message set to the desired value. We do this for metasnap.debian.net. Git has no problem producing bit-by-bit identical commits, given the same input. Thanks! cheers, josch
signature.asc
Description: signature