Skip to content

Commit c6a5560

Browse files
committed
fix(deploy): ad-hoc sign installed binaries on macOS
1 parent 8bf691f commit c6a5560

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

scripts/deploy.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,15 @@ ALT_DIR="${HOME}/.local/bin"
2020
PRIMARY_F="$(command -v f 2>/dev/null || true)"
2121
PRIMARY_INSTALLED=false
2222

23+
ad_hoc_sign_if_available() {
24+
local bin_path="$1"
25+
[[ -f "$bin_path" ]] || return 0
26+
if command -v codesign >/dev/null 2>&1; then
27+
# Avoid macOS "load code signature error" on copied local binaries.
28+
codesign --force --sign - --timestamp=none "$bin_path" >/dev/null 2>&1 || true
29+
fi
30+
}
31+
2332
if [[ -n "${PRIMARY_F}" ]]; then
2433
PRIMARY_DIR="$(dirname -- "${PRIMARY_F}")"
2534
fi
@@ -35,16 +44,19 @@ install_to_dir() {
3544
else
3645
cp -f "${SOURCE_F}" "${dir}/f" 2>/dev/null || return 1
3746
fi
47+
ad_hoc_sign_if_available "${dir}/f"
3848
if [[ -e "${dir}/flow" && "${SOURCE_F}" -ef "${dir}/flow" ]]; then
3949
:
4050
else
4151
cp -f "${SOURCE_F}" "${dir}/flow" 2>/dev/null || true
4252
fi
53+
ad_hoc_sign_if_available "${dir}/flow"
4354
if [[ -e "${dir}/lin" && "${SOURCE_LIN}" -ef "${dir}/lin" ]]; then
4455
:
4556
else
4657
cp -f "${SOURCE_LIN}" "${dir}/lin" 2>/dev/null || true
4758
fi
59+
ad_hoc_sign_if_available "${dir}/lin"
4860
return 0
4961
}
5062

0 commit comments

Comments
 (0)