Skip to content

Commit 0cf81ba

Browse files
committed
Fix nightly Linux packaging and update GitHub actions
1 parent ad27375 commit 0cf81ba

2 files changed

Lines changed: 29 additions & 18 deletions

File tree

.github/workflows/nightly.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ jobs:
3131
head_sha: ${{ steps.version.outputs.head_sha }}
3232
steps:
3333
- name: Checkout
34-
uses: actions/checkout@v4
34+
uses: actions/checkout@v6
3535
with:
3636
fetch-depth: 0
3737

3838
- name: Setup Python
39-
uses: actions/setup-python@v5
39+
uses: actions/setup-python@v6
4040
with:
4141
python-version: "3.x"
4242

@@ -77,13 +77,13 @@ jobs:
7777
os: [windows-latest, macos-latest, ubuntu-latest]
7878
steps:
7979
- name: Checkout
80-
uses: actions/checkout@v4
80+
uses: actions/checkout@v6
8181
with:
8282
fetch-depth: 0
8383
ref: ${{ needs.prepare.outputs.head_sha }}
8484

8585
- name: Setup Python
86-
uses: actions/setup-python@v5
86+
uses: actions/setup-python@v6
8787
with:
8888
python-version: "3.x"
8989

@@ -121,7 +121,7 @@ jobs:
121121
run: meson compile -C builddir
122122

123123
- name: Upload Build Artifact
124-
uses: actions/upload-artifact@v4
124+
uses: actions/upload-artifact@v7
125125
with:
126126
name: pakfu-build-${{ matrix.os }}
127127
path: |
@@ -140,12 +140,12 @@ jobs:
140140
os: [windows-latest, macos-latest, ubuntu-latest]
141141
steps:
142142
- name: Checkout
143-
uses: actions/checkout@v4
143+
uses: actions/checkout@v6
144144
with:
145145
ref: ${{ needs.prepare.outputs.head_sha }}
146146

147147
- name: Setup Python
148-
uses: actions/setup-python@v5
148+
uses: actions/setup-python@v6
149149
with:
150150
python-version: "3.x"
151151

@@ -157,7 +157,7 @@ jobs:
157157
modules: qtmultimedia qtimageformats
158158

159159
- name: Download Build Artifact
160-
uses: actions/download-artifact@v4
160+
uses: actions/download-artifact@v8
161161
with:
162162
name: pakfu-build-${{ matrix.os }}
163163
path: .
@@ -224,12 +224,12 @@ jobs:
224224
os: [windows-latest, macos-latest, ubuntu-latest]
225225
steps:
226226
- name: Checkout
227-
uses: actions/checkout@v4
227+
uses: actions/checkout@v6
228228
with:
229229
ref: ${{ needs.prepare.outputs.head_sha }}
230230

231231
- name: Setup Python
232-
uses: actions/setup-python@v5
232+
uses: actions/setup-python@v6
233233
with:
234234
python-version: "3.x"
235235

@@ -241,7 +241,7 @@ jobs:
241241
modules: qtmultimedia qtimageformats
242242

243243
- name: Download Build Artifact
244-
uses: actions/download-artifact@v4
244+
uses: actions/download-artifact@v8
245245
with:
246246
name: pakfu-build-${{ matrix.os }}
247247
path: .
@@ -343,7 +343,7 @@ jobs:
343343
--arch "${PAKFU_ARCH}"
344344
345345
- name: Upload Package Artifact
346-
uses: actions/upload-artifact@v4
346+
uses: actions/upload-artifact@v7
347347
with:
348348
name: pakfu-dist-${{ matrix.os }}
349349
path: dist/*
@@ -356,18 +356,18 @@ jobs:
356356
runs-on: ubuntu-latest
357357
steps:
358358
- name: Checkout
359-
uses: actions/checkout@v4
359+
uses: actions/checkout@v6
360360
with:
361361
fetch-depth: 0
362362
ref: ${{ needs.prepare.outputs.head_sha }}
363363

364364
- name: Setup Python
365-
uses: actions/setup-python@v5
365+
uses: actions/setup-python@v6
366366
with:
367367
python-version: "3.x"
368368

369369
- name: Download Package Artifacts
370-
uses: actions/download-artifact@v4
370+
uses: actions/download-artifact@v8
371371
with:
372372
path: dist
373373
merge-multiple: true

scripts/package_linux.sh

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,20 +128,31 @@ if [[ ! -e "${app_dir}/usr/lib/libQt6Core.so.6" ]]; then
128128
exit 1
129129
fi
130130

131-
pakfu_ldd="$(ldd "${app_dir}/usr/bin/pakfu" 2>/dev/null || true)"
131+
app_dir_abs="$(cd "${app_dir}" && pwd)"
132+
app_lib_dir="${app_dir_abs}/usr/lib"
133+
134+
# CI exposes the build-time Qt via LD_LIBRARY_PATH. Validate with the AppDir
135+
# library directory first, matching the runtime environment provided by AppRun.
136+
pakfu_ldd="$(LD_LIBRARY_PATH="${app_lib_dir}" ldd "${app_dir}/usr/bin/pakfu" 2>/dev/null || true)"
132137
if printf "%s\n" "${pakfu_ldd}" | grep -q "not found"; then
133138
echo "Packaged pakfu binary still has unresolved runtime dependencies:" >&2
134139
printf "%s\n" "${pakfu_ldd}" >&2
135140
exit 1
136141
fi
137142

138-
app_dir_abs="$(cd "${app_dir}" && pwd)"
139-
if ! printf "%s\n" "${pakfu_ldd}" | grep -F "libQt6Core.so.6 => ${app_dir_abs}/" >/dev/null; then
143+
if ! printf "%s\n" "${pakfu_ldd}" | grep -F "libQt6Core.so.6 => ${app_lib_dir}/" >/dev/null; then
140144
echo "Packaged pakfu binary is not resolving Qt Core from the deployed AppDir." >&2
141145
printf "%s\n" "${pakfu_ldd}" >&2
142146
exit 1
143147
fi
144148

149+
external_qt_libs="$(printf "%s\n" "${pakfu_ldd}" | grep -E "libQt6[^[:space:]]*\\.so" | grep -Fv "=> ${app_lib_dir}/" || true)"
150+
if [[ -n "${external_qt_libs}" ]]; then
151+
echo "Packaged pakfu binary is resolving Qt libraries outside the deployed AppDir." >&2
152+
printf "%s\n" "${external_qt_libs}" >&2
153+
exit 1
154+
fi
155+
145156
if [[ ! -x "${app_dir}/AppRun" ]]; then
146157
echo "linuxdeployqt did not create an executable AppRun launcher in ${app_dir}." >&2
147158
exit 1

0 commit comments

Comments
 (0)