From e1247dcc7b5d4e74f19e3b29a5b6eff47da835a4 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 61f224ecb0..39cfa68bc2 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 711abf72fe..2fe4d8f51b 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