Merge branch 'feature/reproducible-source-tarballs' into 'master'

makepkg: Produce reproducible source tarballs

See merge request pacman/pacman!244
This commit is contained in:
Samuel Dionne-Riel 2025-08-03 00:26:07 +00:00
commit bca2e5ccee

View file

@ -683,6 +683,9 @@ create_srcpackage() {
if [[ "$file" = "$(get_filename "$file")" ]] || (( SOURCEONLY == 2 )); then if [[ "$file" = "$(get_filename "$file")" ]] || (( SOURCEONLY == 2 )); then
local absfile local absfile
absfile=$(get_filepath "$file") || missing_source_file "$file" absfile=$(get_filepath "$file") || missing_source_file "$file"
if (( REPRODUCIBLE )); then
touch -d @$SOURCE_DATE_EPOCH "$absfile"
fi
msg2 "$(gettext "Adding %s...")" "${absfile##*/}" msg2 "$(gettext "Adding %s...")" "${absfile##*/}"
ln -s "$absfile" "$srclinks/$pkgbase" ln -s "$absfile" "$srclinks/$pkgbase"
fi fi
@ -724,6 +727,12 @@ create_srcpackage() {
local fullver=$(get_full_version) local fullver=$(get_full_version)
local pkg_file="$SRCPKGDEST/${pkgbase}-${fullver}${SRCEXT}" local pkg_file="$SRCPKGDEST/${pkgbase}-${fullver}${SRCEXT}"
if (( REPRODUCIBLE )); then
# We have activated reproducible builds, so unify source times before
# building
find "${srclinks}/${pkgbase}" -exec touch -h -d @$SOURCE_DATE_EPOCH {} +
fi
# tar it up # tar it up
msg2 "$(gettext "Compressing source package...")" msg2 "$(gettext "Compressing source package...")"
cd_safe "${srclinks}" cd_safe "${srclinks}"