build: update Snap packaging to use core22 base for compatibility

This commit is contained in:
4gray committed 2026-04-13 08:06:48 +02:00
1 parent 1fca406486
commit b449e3796b
4 files changed
+18 -7

No files matched your search

+1 -1
View File
@@ -28,7 +28,7 @@ jobs:
arch: arm64
# Linux and Windows
- os: linux
runner: ubuntu-latest
runner: ubuntu-22.04
- os: windows
runner: windows-latest
+10 -6
View File
@@ -67,9 +67,9 @@ Keep SQL-heavy logic here so the worker entry remains a thin dispatcher:
3. `DatabaseWorkerClient` lazily starts one long-lived `worker_threads` worker
and correlates requests with a generated `requestId`.
4. The worker executes SQLite work and sends back either:
1. `ready`
2. `event`
3. `response`
1. `ready`
2. `event`
3. `response`
5. The main process resolves the IPC request and forwards worker events back to
the originating renderer process.
@@ -166,9 +166,9 @@ events.
5. `dbDeletePlaylist(playlistId, operationId?)`
6. `dbDeleteAllPlaylists(operationId?)`
7. `dbCancelOperation(operationId)`
3. legacy compatibility:
1. `onDbSaveContentProgress(callback)`
2. `removeDbSaveContentProgress()`
8. legacy compatibility:
1. `onDbSaveContentProgress(callback)`
2. `removeDbSaveContentProgress()`
`DatabaseService.saveXtreamContent(...)` now generates an `operationId`,
subscribes to `onDbOperationEvent`, filters by that `operationId`, and only
@@ -333,6 +333,10 @@ The script checks:
1. `epg-parser.worker.js`
2. `database.worker.js`
3. `better-sqlite3` in one approved unpacked node_modules location
4. Snap packaging compatibility settings for `better-sqlite3`:
- `snap.base = core22`
- Snap launch args keep the X11 fallback
- Snap builds stay aligned with the Ubuntu 22.04 Linux CI environment
### Development rebuild rule
+1
View File
@@ -97,6 +97,7 @@
},
"afterPack": "./tools/packaging/linux-after-pack.cjs",
"snap": {
"base": "core22",
"confinement": "strict",
"grade": "stable",
"summary": "IPTV application for M3U playlists, Xtream Codes API, and Stalker portals",
@@ -410,6 +410,12 @@ function verifyFlatpakPermissions(errors) {
}
function verifySnapPackagingConfig(errors) {
if (snapConfigInspection.config?.base !== 'core22') {
errors.push(
`Snap config in ${snapConfigInspection.sourcePath} must set base to core22 so packaged native modules stay compatible with the Snap runtime glibc.`
);
}
const snapExecutableArgs = Array.isArray(
snapConfigInspection.config?.executableArgs
)