From 55a07f9925209bed37973a35d6d6e9c5892d6d0f Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 2 Sep 2026 09:25:58 +0000 Subject: [PATCH 1/2] fix(ci): install gperf build deps in Linux AppImage workflow vcpkg's gperf port requires autoconf, autoconf-archive, automake, and libtool (libtoolize) from the system package manager. Without them the Linux_AppImage workflow fails at 'VCPKG: Install Project Dependencies' when building fontconfig's gperf dependency. Co-authored-by: michael berry --- .github/workflows/LinuxInstall.yml | 2 +- changes/cursor-fix-linux-appimage-gperf-5319.md | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 changes/cursor-fix-linux-appimage-gperf-5319.md diff --git a/.github/workflows/LinuxInstall.yml b/.github/workflows/LinuxInstall.yml index a99d6c63..3d46ecc7 100644 --- a/.github/workflows/LinuxInstall.yml +++ b/.github/workflows/LinuxInstall.yml @@ -26,7 +26,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install -y libxcb-cursor0 libspeechd2 gnupg2 wget appstream libcups2 libcups2-dev + sudo apt-get install -y autoconf autoconf-archive automake libtool libxcb-cursor0 libspeechd2 gnupg2 wget appstream libcups2 libcups2-dev - name: Checkout repository uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 diff --git a/changes/cursor-fix-linux-appimage-gperf-5319.md b/changes/cursor-fix-linux-appimage-gperf-5319.md new file mode 100644 index 00000000..68943109 --- /dev/null +++ b/changes/cursor-fix-linux-appimage-gperf-5319.md @@ -0,0 +1,4 @@ +Category: internal +Audience: Maintainers +Breaking-Change: no +Summary: Install autoconf, autoconf-archive, automake, and libtool in the Linux AppImage workflow so vcpkg can build gperf for fontconfig. From b6eaf50bafb2dbb043bd9470c68180d6d4a24978 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 2 Sep 2026 11:18:22 +0000 Subject: [PATCH 2/2] fix(ci): initialize PdfTool path before install smoke probes The version and capabilities probes run before $pdfTool was assigned, causing Windows_MSI to fail at Validate staged install tree under Set-StrictMode. Move the Join-Path assignment above the first use. Co-authored-by: michael berry --- changes/cursor-fix-linux-appimage-gperf-5319.md | 2 +- scripts/smoke-test-install.ps1 | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/changes/cursor-fix-linux-appimage-gperf-5319.md b/changes/cursor-fix-linux-appimage-gperf-5319.md index 68943109..7be5bbef 100644 --- a/changes/cursor-fix-linux-appimage-gperf-5319.md +++ b/changes/cursor-fix-linux-appimage-gperf-5319.md @@ -1,4 +1,4 @@ Category: internal Audience: Maintainers Breaking-Change: no -Summary: Install autoconf, autoconf-archive, automake, and libtool in the Linux AppImage workflow so vcpkg can build gperf for fontconfig. +Summary: Install autoconf, autoconf-archive, automake, and libtool in the Linux AppImage workflow so vcpkg can build gperf for fontconfig, and initialize PdfTool before the install smoke script runs version probes. diff --git a/scripts/smoke-test-install.ps1 b/scripts/smoke-test-install.ps1 index 7d888c15..62702af4 100644 --- a/scripts/smoke-test-install.ps1 +++ b/scripts/smoke-test-install.ps1 @@ -186,6 +186,8 @@ foreach ($item in $requiredFiles) { Write-Host "OK: $($item.Label)" } +$pdfTool = Join-Path $InstallDir "PdfTool.exe" + $versionOutput = @(& $pdfTool --version 2>&1) $versionExit = $LASTEXITCODE $versionText = $versionOutput -join "`n" @@ -248,7 +250,6 @@ if ([string]::IsNullOrWhiteSpace($TestPdf) -or -not (Test-Path -LiteralPath $Tes } $profilePath = Join-Path $ProfilesDir "loop-default.json" -$pdfTool = Join-Path $InstallDir "PdfTool.exe" $editor = Join-Path $InstallDir "LoopEditor.exe" # Strip Qt from PATH so preflight cannot silently resolve ICU/Qt deps from a # developer or CI toolchain install — the bundle must be self-contained (MIC-301).