From 66f0c390a88f5aa16d21047a8982a5888fa0f816 Mon Sep 17 00:00:00 2001 From: Thorsten Ball Date: Tue, 16 Jul 2024 14:55:30 +0200 Subject: [PATCH] linux: Fix missing licenses in binary causing panics (#14561) Turns out that the existing CI step for Nightly did create the licenses and they have been baked into X86 builds ever since, because our builders are stateful. On ARM machines, the licenses wouldn't exist in the binary because we called `script/generate-licenses` too late in `scripts/bundle-linux`, after the binary had been created. This removes the duplication and generates the licenses once, before the binary is created. Fixes #14302. Release Notes: - Fixed "View Dependency Licenses" (or `zed: open licenses`) crashing on Linux ARM machines. ([#14302](https://github.com/zed-industries/zed/issues/14302) --- .github/workflows/release_nightly.yml | 3 --- script/bundle-linux | 6 ++++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml index 61f224ecb00fbca5b7253c9e74ee2c43c7253c4b..39cfa68bc23cda5149bfb672e0c5e59e1298175d 100644 --- a/.github/workflows/release_nightly.yml +++ b/.github/workflows/release_nightly.yml @@ -121,9 +121,6 @@ jobs: echo "Publishing version: ${version} on release channel nightly" echo "nightly" > crates/zed/RELEASE_CHANNEL - - name: Generate license file - run: script/generate-licenses - - name: Create Linux .tar.gz bundle run: script/bundle-linux diff --git a/script/bundle-linux b/script/bundle-linux index 711abf72fedab85c6ec982304a520462b17608f8..2fe4d8f51b8fb3166678edc3bd77d40241dd10e4 100755 --- a/script/bundle-linux +++ b/script/bundle-linux @@ -38,6 +38,9 @@ version_info=$(rustc --version --verbose) host_line=$(echo "$version_info" | grep host) target_triple=${host_line#*: } +# Generate the licenses first, so they can be baked into the binaries +script/generate-licenses + # Build binary in release mode export RUSTFLAGS="-C link-args=-Wl,--disable-new-dtags,-rpath,\$ORIGIN/../lib" cargo build --release --target "${target_triple}" --package zed --package cli @@ -97,8 +100,7 @@ fi mkdir -p "${zed_dir}/share/applications" envsubst < "crates/zed/resources/zed.desktop.in" > "${zed_dir}/share/applications/zed$suffix.desktop" -# Licenses -script/generate-licenses +# Copy generated licenses so they'll end up in archive too cp "assets/licenses.md" "${zed_dir}/licenses.md" # Create archive out of everything that's in the temp directory