Historical bug tracker for the Pacman package manager.
The pacman bug tracker has moved to gitlab:
https://gitlab.archlinux.org/pacman/pacman/-/issues
This tracker remains open for interaction with historical bugs during the transition period. Any new bugs reports will be closed without further action.
The pacman bug tracker has moved to gitlab:
https://gitlab.archlinux.org/pacman/pacman/-/issues
This tracker remains open for interaction with historical bugs during the transition period. Any new bugs reports will be closed without further action.
FS#75214 - Allow package install date to be overriden
|
DetailsSummary and Info:
In lib/libalpm/add.c:594, the the new package's install date is set with time(). This makes it hard to use pacman to build something that should be fully reproducible. There are two workarounds: - I can use libfaketime to control the install date: https://github.com/wolfcw/libfaketime. - I can modify package desc files to have a different time. However, the best solution would be to have pacman respect the SOURCE_DATE_EPOCH environment variable. reproducible-builds.org explains this well. Timestamps: https://reproducible-builds.org/docs/timestamps/ SOURCE_DATE_EPOCH: https://reproducible-builds.org/specs/source-date-epoch/ Steps to Reproduce: Install a package with pacman. /var/lib/pacman/local/PKG_NAME/desc will contain the time the package was installed under %INSTALLDATE%. |
This task depends upon
"Reproducible builds are a set of software development practices that create an independently-verifiable path from source to binary code."
Although I am curious why you don't think respecting an environment variable is the "correct" solution. libfaketime needs extra configuration for java, and doesn't work in languages like go. The pacman code may remain untouched if you relegate the problem to libfaketime, but everyone using pacman in a reproducible context has to make their own code uglier to deal with the exception.