Commit graph

114 commits

Author SHA1 Message Date
Bruno Lopes
25c9fcf382
build/linux: On 3.0 series only, bundle all random typelibs
Following 65d51a7e
2025-10-03 18:58:08 -03:00
Bruno Lopes
f31642a419
build/linux: Silence noisy warnings about GTK_MODULES
From GTK mouth:
https://gitlab.gnome.org/GNOME/gtk/-/blob/3.24.50/gtk/gtkmodules.c?ref_type=tags#L250

(cherry picked from commit 47eac319b1)
2025-09-28 21:42:04 -03:00
Bruno Lopes
9d3baeff2b
build/linux: Little improvement on libheif plugins bundling
(cherry picked from commit b0689f565b)
2025-09-28 08:31:30 -03:00
Bruno Lopes
38bacb232e
build/linux: Remove some uneeded lines after move to Trixie
(cherry picked from commit 2b32496195)
2025-09-28 08:31:23 -03:00
Bruno Lopes
ab538eb732
build/linux: Fix GJS bundling on AppImage
It have an undeclared dependency on GioUnix typelib.

(cherry picked from commit de62139894)
2025-09-28 08:30:45 -03:00
Bruno Lopes
a640adf781
Revert "Issue #13001: build/linux: Sandbox XDG_DATA_DIRS on AppImage"
This reverts commit bc095d5c83.

Sandboxing XDG_DATA_DIRS, while can fix the crash due to share/mime,
on the other hand makes impossible to call share/applications
associated with such mimes on host.

So, since we bumped the AppImage to Debian Trixie so the Glib
crash due to mime is gone, we can (and should) revert the
wrong sandboxing without problems.

(cherry picked from commit f774ad7f16)
2025-09-27 20:59:24 -03:00
Bruno Lopes
9227c02a2f
gitlab-ci, build: Move to Debian Trixie on AppImage only
Fixes: #13001 #13106 #13492 #13647 #14779

AppImage jobs are now built with Trixie to adress #13001 and many others.

To have two Debian versions with less complexity possible, I needed to:
- Revert the prevalence of the AppImage CI (now nonreloc comes first);
- Revert the use of Clang on Debian (also to save 120MB from registry,
  since we now have 4 Docker images, each one with its own STEP cache!).
In short, .gitlab-ci.yml will look more like before I changing it a lot.

(cherry picked from commit f53a843c3d)
2025-09-27 20:59:12 -03:00
Bruno Lopes
746a7d22fe
build/linux: Improve bund_usr check added in 5bc2f26c
(cherry picked from commit d5f3fa77db)
2025-09-21 21:39:19 -03:00
Bruno Lopes
031e41d4b5
build/linux: Drop --permissive mode introduced in 5bc2f26c
It was an awful design of mine.

(cherry picked from commit 63b4d69e48)
2025-09-21 14:48:12 -03:00
Bruno Lopes
d4c9d53ddd
build/linux: Stop AppImage script if bund_usr target do not exist
(cherry picked from commit 5bc2f26cb0)
2025-09-20 20:39:21 -03:00
Bruno Lopes
1ee540e2b7 build/linux: Bundle needed files for PostScript support on AppImage
(cherry picked from commit b70186bc99)
2025-09-17 17:56:39 +02:00
Bruno Lopes
dd370e5dd0 build/linux: Make bund_usr function more robust on AppImage script
(cherry picked from commit c734c0f33f)
2025-09-17 17:17:05 +02:00
Bruno Lopes
0079ca3db2 build/linux: appimagetool now supports specifying .appimage path on .zsync
See: https://github.com/AppImage/appimagetool/pull/111
(cherry picked from commit 9eee96328b)
2025-09-17 16:47:15 +02:00
Bruno Lopes
a6669446ab build/linux: Complete a3aca3c1
(cherry picked from commit 893f268e60)
2025-09-17 16:40:23 +02:00
Bruno Lopes
a1faa99245 build/linux: Print info message about which archs will be distributed
All our Linux dist scripts are multi-arch aware so
we need to be clear like on windows scripts.

(cherry picked from commit a3aca3c171)
2025-09-17 16:40:23 +02:00
Bruno Lopes
c40e0509b1 build/linux: Some cosmetic changes to AppRun vars
(cherry picked from commit bd6218a12f)
2025-09-17 16:40:23 +02:00
Bruno Lopes
ebc2715cb7 Issue #13001: build/linux: Sandbox XDG_DATA_DIRS on AppImage
Closes #13001

XDG_DATA_DIRS is a variable used by many deps (e.g. glib) to
find runtime data. So, let's point XDG_DATA_DIRS to the
appimage bundle so prevent unexpected data from the host.

(cherry picked from commit bc095d5c83)
2025-09-17 16:40:23 +02:00
Bruno Lopes
c519df8efd build: Make scripts CWD check run on CI too
(cherry picked from commit d731a8fc0d)
2025-09-17 16:40:23 +02:00
Bruno Lopes
4e54e65615 build: Reorder shasums output on AppImage and Installer scripts
The output being before the release-only file generation is more logical

(cherry picked from commit 70eb95bff8)
2025-09-17 16:40:23 +02:00
Bruno Lopes
d0afcb2513 build/linux: Some cosmetic changes and comments to AppImage script
(cherry picked from commit e0b2bcba27)
2025-09-17 16:40:23 +02:00
Bruno Lopes
b11ad046b0 build: Only bundle the strictly needed .typelib files
Otherwise plug-in developers would rely on .typelib available only on
Linux OR macOS OR Windows so create unportable/broken .py plug-ins.

(cherry picked from commit 464b1fb32f)
2025-09-17 16:40:18 +02:00
Bruno Lopes
26e5e8f3df build/linux: Explain the purpose of $APPENDED_LIST
(cherry picked from commit 6c5401b9da)
2025-09-17 16:40:17 +02:00
Bruno Lopes
e6fe57371d build/linux: Reorganize a bit the files section of AppImage script
This makes it a bit more similar to the Windows bundling script so
easier to read and maintain in the future.

(cherry picked from commit f59b83ed6c)
2025-09-17 16:40:17 +02:00
Bruno Lopes
939d77c281 gitlab, build, tools: Port bashisms to POSIX-compliant code
Although these scripts are not called by Meson, portability outside the
build system is always welcome (specially on macOS or non-GNU OSes).

(cherry picked from commit fd47161215)
2025-09-17 16:40:17 +02:00
Bruno Lopes
e2d5e56c8d build/linux: Fix AppImage StartupWMClass
This completes aede2709b0

(cherry picked from commit b57744ceba)
2025-09-17 16:40:16 +02:00
Bruno Lopes
1bb8672d76 build/windows: Do not bundle unneeded share/metainfo on Windows
Seems it was used at runtime in the past but that is
not the case anymore. Indeed, it started to be bundled in
af79bbe028 due to an
error: before the Windows bundling unification the
crossbuilds "script" on .yml bundled all the 'share' dir.

(cherry picked from commit 472123181d)
2025-09-17 16:40:16 +02:00
Bruno Lopes
cc2a306354 build/linux: Run gimp process without LD interpreter on AppImage
Closes: #12929

This normalizes argv0, making the AppImage debuggable by gdb etc.

From now, the AppImage can't be run in pre-Bookworm (glibc < 2.36)
distros, but that use case was never officialy supported anyway.

(cherry picked from commit 7fd2489985)
2025-09-17 16:40:15 +02:00
Bruno Lopes
a140c181d1 build/linux: Do not bundle daemons on AppImage
We weren't launching then (and not sure if
we should at all). Also, the proper fix to
some errors encountered is 330ebe90.

(cherry picked from commit f2bd9fcd7f)
2025-09-17 16:40:15 +02:00
Bruno Lopes
4f13a6c4a9 build/linux: Prevent loading host's GIO_EXTRA_MODULES on AppImage
We can't guarantee that the .so modules pointed by GIO_EXTRA_MODULES will
link properly to the bundled libc and other bundled deps in the AppImage.

So, by making our AppImage ignore that var we avoid errors on terminal due
to linking mismatch (e.g. on NixOS which sets that var by default).

(cherry picked from commit 330ebe90b6)
2025-09-17 16:40:14 +02:00
Bruno Lopes
ddf9d57ab6
build/linux: Fix bundling of GEGL json modules 2025-05-09 21:22:27 -03:00
Bruno Lopes
373e46f871
build: Fix pkgconfig files not being fully bundled (e.g. gimpui*.pc) 2025-05-04 14:36:29 -03:00
Bruno Lopes
2cedc9fc96
build/linux: Do not allow library preloading on AppImage
Closes: #13527
2025-04-12 19:20:29 -03:00
Bruno Lopes
d3501ffc35
build/linux: Make AppImage script tool-agnostic (part 3) 2025-04-10 07:33:01 -03:00
Bruno Lopes
4070cfb9ee
build/linux: Add some comments to AppRun
And make APPDIR output clearer.
2025-04-10 07:27:36 -03:00
Bruno Lopes
f2bdf03b9a
build/linux: Do not set uneeded GIMP3_* dirs on (relocatable) AppImage
Relocatable builds do not need them.

Also, remove comments about the inspiration for the scripts since
they are now so refined that make no sense to link 3P sources.
2025-04-09 08:58:03 -03:00
Bruno Lopes
43ae9fced5
build/linux: Prevent LD_LIBRARY_PATH leaking on AppImage
Closes #13603

Following 8fe7ddf3
2025-04-07 09:23:45 -03:00
Bruno Lopes
abeac94e8e
build/linux: Fix '--no-expand' param of conf_app function on AppImage script 2025-04-06 22:05:21 -03:00
Bruno Lopes
b303b6e20b Issue #13367: set Mesa drivers on Continuous appimage from stable series.
Partially reverts 3bbcdbd325
2025-04-06 20:19:31 +00:00
Jehan
afa152ea54 Issue #13367: use correct AppImage and MSIX IDs for continuous builds.
Also make sure we ship the relevant graphviz runtime dependencies when
the debug menu is visible.
2025-04-06 20:19:31 +00:00
Bruno Lopes
b2bf83a6bd
build/linux: Make AppImage script tool-agnostic (part 2) 2025-04-06 16:04:49 -03:00
Bruno Lopes
30d7631d34
build/linux: Make AppImage script tool-agnostic (part 1) 2025-04-06 13:39:15 -03:00
Bruno Lopes
c29be7ba5f
build/linux: Bundle correct Resource dev files on AppImage
Similarly to 73c7d468
2025-03-29 15:38:31 -03:00
Bruno Lopes
ad155fd545
build/linux: Do not include .debug symbols
Shipping .debug symbols is not a common practice on Linux distros.
Also, backtrace() API seems to not be able to read them separetely.

So, there is no use for them. Who wants top tier debugging can set:
export DEBUGINFOD_URLS="https://debuginfod.debian.net"
2025-03-28 21:10:44 -03:00
Bruno Lopes
8cb3f0ff66
build/linux: Ensure that 'ld-linux' have .debug symbols
x86_64 have a peculiar path so this trick is needed.
2025-03-16 19:27:31 -03:00
Bruno Lopes
4e073a6788
build/linux: Do not bundle 'gdk-pixbuf-query-loaders' .debug symbol 2025-03-16 19:27:27 -03:00
Bruno Lopes
4c8c64aa46
build/linux: Remove leftover from previous try of .debug on AppImage
It is not needed because the .debug files are bundled.
2025-03-16 17:43:01 -03:00
Bruno Lopes
958e82d5e9
build/linux: Bundle deps .debug symbols on AppImage with 'debuginfod' 2025-03-16 17:14:54 -03:00
Bruno Lopes
d4f51fdd77
build/linux: No need to set PYTHONHOME on AppImage
Closes: #13050
2025-03-15 20:45:11 -03:00
Bruno Lopes
ce33dab5f1
build/linux: Add error message to runtime version check 2025-03-15 17:13:15 -03:00
Bruno Lopes
df9f812b59
build/linux: Fix comment style about Lua on AppImage script
Let's put links only about toolkit (go-appimage and appimagetool) issues
2025-03-14 18:04:48 -03:00