Update linux binary expectations (#12622)
Fixes #12585 This changes the expectations for installed binaries on linux based on work that @jirutka has done for Alpine. In particular, we now put the cli in place as `bin/zed` and the zed binary as `libexec/zed-editor`, and assume that packagers do the same. cc @someone13574 Release notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev>
This commit is contained in:
parent
c7d56302d2
commit
27beb9e697
8 changed files with 65 additions and 35 deletions
|
@ -10,8 +10,6 @@ local_arch=false
|
|||
local_only=false
|
||||
local_install=false
|
||||
bundle_name=""
|
||||
zed_crate="zed"
|
||||
binary_name="Zed"
|
||||
|
||||
# This must match the team in the provisioning profile.
|
||||
APPLE_NOTORIZATION_TEAM="MQ55VZLNZQ"
|
||||
|
@ -80,10 +78,10 @@ local_target_triple=${host_line#*: }
|
|||
|
||||
if [ "$local_arch" = true ]; then
|
||||
echo "Building for local target only."
|
||||
cargo build ${build_flag} --package ${zed_crate} --package cli
|
||||
cargo build ${build_flag} --package zed --package cli
|
||||
else
|
||||
echo "Compiling zed binaries"
|
||||
cargo build ${build_flag} --package ${zed_crate} --package cli --target aarch64-apple-darwin --target x86_64-apple-darwin
|
||||
cargo build ${build_flag} --package zed --package cli --target aarch64-apple-darwin --target x86_64-apple-darwin
|
||||
fi
|
||||
|
||||
echo "Creating application bundle"
|
||||
|
@ -91,7 +89,7 @@ pushd crates/zed
|
|||
channel=$(<RELEASE_CHANNEL)
|
||||
popd
|
||||
|
||||
pushd crates/${zed_crate}
|
||||
pushd crates/zed
|
||||
cp Cargo.toml Cargo.toml.backup
|
||||
sed \
|
||||
-i .backup \
|
||||
|
@ -186,7 +184,7 @@ function prepare_binaries() {
|
|||
target/${architecture}/${target_dir}/Zed.dwarf.gz \
|
||||
"$channel/Zed-$version-${architecture}.dwarf.gz"
|
||||
|
||||
cp target/${architecture}/${target_dir}/${binary_name} "${app_path}/Contents/MacOS/${zed_crate}"
|
||||
cp target/${architecture}/${target_dir}/zed "${app_path}/Contents/MacOS/zed"
|
||||
cp target/${architecture}/${target_dir}/cli "${app_path}/Contents/MacOS/cli"
|
||||
}
|
||||
|
||||
|
@ -207,7 +205,7 @@ function sign_binaries() {
|
|||
download_git "${architecture}" "${app_path}/Contents/MacOS/git"
|
||||
|
||||
# Note: The app identifier for our development builds is the same as the app identifier for nightly.
|
||||
cp crates/${zed_crate}/contents/$channel/embedded.provisionprofile "${app_path}/Contents/"
|
||||
cp crates/zed/contents/$channel/embedded.provisionprofile "${app_path}/Contents/"
|
||||
|
||||
if [[ -n "${MACOS_CERTIFICATE:-}" && -n "${MACOS_CERTIFICATE_PASSWORD:-}" && -n "${APPLE_NOTARIZATION_USERNAME:-}" && -n "${APPLE_NOTARIZATION_PASSWORD:-}" ]]; then
|
||||
echo "Signing bundle with Apple-issued certificate"
|
||||
|
@ -223,8 +221,8 @@ function sign_binaries() {
|
|||
/usr/bin/codesign --deep --force --timestamp --sign "Zed Industries, Inc." "${app_path}/Contents/Frameworks/WebRTC.framework" -v
|
||||
/usr/bin/codesign --deep --force --timestamp --options runtime --sign "Zed Industries, Inc." "${app_path}/Contents/MacOS/cli" -v
|
||||
/usr/bin/codesign --deep --force --timestamp --options runtime --sign "Zed Industries, Inc." "${app_path}/Contents/MacOS/git" -v
|
||||
/usr/bin/codesign --deep --force --timestamp --options runtime --entitlements crates/${zed_crate}/resources/zed.entitlements --sign "Zed Industries, Inc." "${app_path}/Contents/MacOS/${zed_crate}" -v
|
||||
/usr/bin/codesign --force --timestamp --options runtime --entitlements crates/${zed_crate}/resources/zed.entitlements --sign "Zed Industries, Inc." "${app_path}" -v
|
||||
/usr/bin/codesign --deep --force --timestamp --options runtime --entitlements crates/zed/resources/zed.entitlements --sign "Zed Industries, Inc." "${app_path}/Contents/MacOS/zed" -v
|
||||
/usr/bin/codesign --force --timestamp --options runtime --entitlements crates/zed/resources/zed.entitlements --sign "Zed Industries, Inc." "${app_path}" -v
|
||||
|
||||
security default-keychain -s login.keychain
|
||||
else
|
||||
|
@ -243,7 +241,7 @@ function sign_binaries() {
|
|||
# - get a signing key for the MQ55VZLNZQ team from Nathan.
|
||||
# - create your own signing key, and update references to MQ55VZLNZQ to your own team ID
|
||||
# then comment out this line.
|
||||
cat crates/${zed_crate}/resources/zed.entitlements | sed '/com.apple.developer.associated-domains/,+1d' > "${app_path}/Contents/Resources/zed.entitlements"
|
||||
cat crates/zed/resources/zed.entitlements | sed '/com.apple.developer.associated-domains/,+1d' > "${app_path}/Contents/Resources/zed.entitlements"
|
||||
|
||||
codesign --force --deep --entitlements "${app_path}/Contents/Resources/zed.entitlements" --sign ${MACOS_SIGNING_KEY:- -} "${app_path}" -v
|
||||
fi
|
||||
|
@ -364,9 +362,9 @@ else
|
|||
app_path=target/release/$(basename "$app_path_x64")
|
||||
lipo \
|
||||
-create \
|
||||
target/{x86_64-apple-darwin,aarch64-apple-darwin}/${target_dir}/${binary_name} \
|
||||
target/{x86_64-apple-darwin,aarch64-apple-darwin}/${target_dir}/zed \
|
||||
-output \
|
||||
"${app_path}/Contents/MacOS/${zed_crate}"
|
||||
"${app_path}/Contents/MacOS/zed"
|
||||
lipo \
|
||||
-create \
|
||||
target/{x86_64-apple-darwin,aarch64-apple-darwin}/${target_dir}/cli \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue