Replies: 1 comment 2 replies
-
Hi, you can use sharun if you need to bundle webkit2gtk: https://github.com/VHSgunzo/sharun I has a hook that automatically handles webkit2gtk See this example: https://github.com/olekolek1000/wayvr-dashboard/blob/master/appimage/deb_to_appimage.sh Probono also used sharun for the PrusaSlicer AppImage that also bundles webkit2gtk, but this was done before the |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I owe everyone a big apology as AppImage does work as designed. @probonopd @TheAssassin
I originally used Sparkylinux 7 (trixie) to build my AppImage which was part of the problem but, after several days of testing on a new Distro, I came up with the following that works for me.
Used the below "cp" command to copy all dynamic linked library files to AppDir/usr/lib... for yad gui
(yad binary & 3 other executables
cp --parents -H $(ldd /usr/local/bin/yad | grep -o '\W/[^ ]*') AppDir/usr/
# produced directories lib 246 files / lib64 1 file.yad also uses 3 helper executables under /usr/lib/x86_64-linux/webkit2gtk-4.0
yad library files /usr/lib | /usr/share → 465 library files = 465 / 232MB
yad binary → compiled on pure Debian bookworm 12 x86_64
./configure --enable-html –enable-sourceview --standalone
yad etc config files = 7 | 232KB
16 hard-linked library files copied to target partition
This is what I am now doing that is working for me:
/AppDir/ Structure:
/AppDir/AppImageBuilder.yml
/AppDir/AppRun
/yad14-portable.desktop
yad-app.png
/Appdir/usr/bin/yad
/AppDir/etc/openal/alsoft.conf
/AppDir/etc/openni2/OpenNI.ini
/AppDir/etc/timidity/timgm6mb.cfg
/AppDir/usr/lib/gstreamer-1.0/ # 264 Library Files
/AppDir/usr/lib/OpenNI2/Drivers/ # 3 driver files
/AppDir/usr/lib/udev/rules.d/60-libopenni2-0.rules
/AppDir/usr/lib/x86_64-linux-gnu/ # 154 Library files
AppDir/usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/ # 4 executable helper files
/AppDir/usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/injected-bundle/
/AppDir/usr/share/gstreamer-1.0/encoding-profiles/device/dvd.gep
/AppDir/usr/share/gstreamer-1.0/encoding-profiles/file-extension/ # 9 encoding files
/AppDir/usr/share/gstreamer-1.0/encoding-profiles/online-services/youtube.gep
/AppDir/usr/share/gstreamer-1.0/presets/ # 8 multimedia preset files
#----------------------------
/AppDir/AppRun
#----------------------------
/AppDir/yad14-portable.desktop
----------------------------------
AppImageBuilder.yml (Not Used – Untested)
----------------------------------
Additional Added Library Files – Hard Linked by yad GUI binary
These files can be copied to /tmp/yad/usr/lib/x86_64-linux/ directory and symlined to system directory. I will make a script that does this and post it here.
Debian pure
yad dependencies: Hard Linked Files not normally on Debian minimum builds:
libenchant-2.so.2
libgstgl-1.0.so.0
libgsttranscoder-1.0.so.0
libgtksourceview-3.0.so.1
libharfbuzz-icu.so.0
libicuio.so.72
libmanette-0.2.so.0
libsoup-2.4.so.1
Ubuntu / Linux Mint
yad dependencies: Hard Linked Library Files not normally on Ubuntu builds:
libavif.so.15
libdav1d.so.6
libicudata.so.72
libicui18n.so.72
libicuuc.so.72
libjpeg.so.62
libwoff2common.so.1.0.2
libwoff2dec.so.1.0.2
Example of symlinking to temp hard-linked yad library files:
Beta Was this translation helpful? Give feedback.
All reactions