mirror of
https://github.com/ipetkov/crane.git
synced 2024-11-22 23:17:15 +03:00
32ca849598
* Hook functions now will accept any relevant arguments and fall back to our default variables if they are not provided, potentially allowing them to be adapted externally (without needing more configuration knobs on our end)
26 lines
760 B
Bash
26 lines
760 B
Bash
prepareCargoTargetDirAndCopyToDir() {
|
|
# Allow for calling with customized parameters
|
|
# or fall back to defaults if none are provided
|
|
local dir="${1:-${target}}"
|
|
local cargoTargetDir="${2:-${CARGO_TARGET_DIR:-target}}"
|
|
local dest="${dir}/target.tar.zst"
|
|
|
|
echo "copying ${cargoTargetDir} to ${dest}"
|
|
|
|
export SOURCE_DATE_EPOCH=1
|
|
mkdir -p "${dir}"
|
|
|
|
# See: https://reproducible-builds.org/docs/archives/
|
|
tar --sort=name \
|
|
--mtime="@${SOURCE_DATE_EPOCH}" \
|
|
--owner=0 \
|
|
--group=0 \
|
|
--numeric-owner \
|
|
--pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime \
|
|
-c "${cargoTargetDir}" | @zstd@ -o "${dest}"
|
|
}
|
|
|
|
if [ "1" = "${doCopyTargetToOutput-}" ]; then
|
|
postInstallHooks+=(prepareCargoTargetDirAndCopyToDir)
|
|
fi
|