Make gcc-aarch64 reproducible (#366)

This fixes https://github.com/postmarketOS/binary-package-repo/issues/1

GCC generates hardlinks between files `A` and `B` in its `make install` step. The problem is, that `tar` randomly packages `A` as full binary, and links `B` to `A`, or the other way around! I was able to reproduce this issue consistently when re-building `gcc-aarch64` on Travis CI (interestingly, this did not appear for `gcc-armhf`).

The fix is, to delete `B` and create a symlink `B` that points to `A` instead.
This commit is contained in:
Oliver Smith 2017-08-12 14:06:02 +00:00 committed by GitHub
parent f3f21d3152
commit c904ffc751
5 changed files with 104 additions and 56 deletions

View file

@ -62,7 +62,9 @@ def rewrite(args, pkgname, path_original, fields={}, replace_pkgname=None,
"\n",
]
for line in below_header.split("\n"):
lines_new += line.strip() + "\n"
if not line[:8].strip():
line = line[8:]
lines_new += line.rstrip() + "\n"
# Copy/modify lines, skip Maintainer/Contributor
path = args.work + "/aportgen/APKBUILD"