abuild: make built package reproducible

Flags to make the tarball reproducible is taken from here:
http://h2.jaguarpaw.co.uk/posts/reproducible-tar/
This commit is contained in:
Natanael Copa 2019-11-07 13:24:43 +00:00
parent 672032a4be
commit f04a2ee34b

View File

@ -1565,7 +1565,11 @@ create_apks() {
# normalize timestamps
find . -exec touch -h -d "@$SOURCE_DATE_EPOCH" {} +
tar --xattrs -f - -c "$@" | abuild-tar --hash | $gzip -9 >"$dir"/data.tar.gz
tar --xattrs \
--format=posix \
--pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime,delete=mtime \
--mtime="@${SOURCE_DATE_EPOCH}" \
-f - -c "$@" | abuild-tar --hash | $gzip -n -9 >"$dir"/data.tar.gz
msg "Create checksum..."
# append the hash for data.tar.gz
@ -1575,8 +1579,12 @@ create_apks() {
# control.tar.gz
cd "$dir"
tar -f - -c $(cat "$dir"/.metafiles) | abuild-tar --cut \
| $gzip -9 > control.tar.gz
tar \
--format=posix \
--pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime,delete=mtime \
--mtime="@${SOURCE_DATE_EPOCH}" \
-f - -c $(cat "$dir"/.metafiles) | abuild-tar --cut \
| $gzip -n -9 > control.tar.gz
abuild-sign -q control.tar.gz || exit 1
msg "Create $apk"