summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPatrick McDermott <patrick.mcdermott@libiquity.com>2019-06-16 01:04:35 (EDT)
committer Patrick McDermott <patrick.mcdermott@libiquity.com>2019-06-16 01:09:11 (EDT)
commit7bc53375753b7e348ec956e8eb33886a92aab4a6 (patch)
tree6b50e873161fd8f352dede1b2990c50176802905 /src
parent8bde757d93e4ff66587564f1cdf7d59f34ae6207 (diff)
ob-buildopk: Make archive member mtimes deterministic
Diffstat (limited to 'src')
-rw-r--r--src/ob-buildopk.sh12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/ob-buildopk.sh b/src/ob-buildopk.sh
index b67ee3b..a9dab2c 100644
--- a/src/ob-buildopk.sh
+++ b/src/ob-buildopk.sh
@@ -25,13 +25,16 @@ build_opk()
local version="${2}"
local arch="${3}"
local plat="${4}"
- shift 4
+ local date="${5}"
+ shift 5
ob_info "$(ob_get_msg 'build_opk')" \
"${binary}_${version}_${arch}_${plat}.opk"
+ find "${binary}.control" "${binary}.data" | xargs touch -d "${date}"
(cd -- "${binary}.data" && tar -czf '../data.tar.gz' '.')
(cd -- "${binary}.control" && tar -czf '../control.tar.gz' '.')
+ touch -d "${date}" 'control.tar.gz' 'data.tar.gz'
tar -czf "../../${binary}_${version}_${arch}_${plat}.opk" \
'debian-binary' 'data.tar.gz' 'control.tar.gz'
@@ -42,6 +45,7 @@ build_opk()
main()
{
+ local date=
local pkg=
local arch=
local plat=
@@ -53,11 +57,13 @@ main()
fi
ob_init_package '..' || return 1
+ date="$(ob_iso8601_gmtime "${SOURCE_DATE_EPOCH}")"
printf '2.0\n' >'debian-binary'
+ touch -d "${date}" 'debian-binary'
if [ x"${OB_DO_SOURCE:+set}" = x'set' ]; then
build_opk "src-${OPK_SOURCE}" "${OPK_SOURCE_VERSION}" \
- 'src' 'all'
+ 'src' 'all' "${date}"
else
for pkg in ${OPK_PACKAGES_REDUCED}; do
arch="$(ob_get_binary_parameter "${pkg}" \
@@ -66,7 +72,7 @@ main()
plat="$(ob_get_binary_parameter "${pkg}" 'Platform')"
[ x"${plat}" != x'all' ] && plat="${OPK_HOST_PLAT}"
build_opk "${pkg}" "${OPK_BINARY_VERSION}" \
- "${arch}" "${plat}"
+ "${arch}" "${plat}" "${date}"
done
fi
rm 'debian-binary'