Skip to content

Commit f732996

Browse files
committed
build appimage with static runtime
This allows the user to run the appimage on non fuse2 systems (all moderns systems use fuse3). This is archived by using the static appimage runtime. Since linuxdeploy doesn't support changing the runtime I only use it to create the appdir directory. Then I use the original appimagetool to package the appimage using the static runtime. This should also make it possible to run the appimage on a non glibc system but I don't have access to one so I can't test it. fixes: #485
1 parent 1ceac8a commit f732996

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

scripts/appimage/Dockerfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,12 @@ RUN cd /opt && git clone --recursive https://github.com/KDAB/KDDockWidgets.git -
127127
cd KDDockWidgets && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr -DKDDockWidgets_EXAMPLES=0 -DKDDockWidgets_FRONTENDS="qtwidgets" .. && \
128128
make -j && make install && cd /opt && rm -Rf KDDockWidgets
129129

130+
RUN wget https://github.com/AppImage/type2-runtime/releases/download/continuous/runtime-x86_64 && \
131+
wget https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage && \
132+
chmod +x appimagetool-x86_64.AppImage && mv appimagetool-x86_64.AppImage /usr/bin/ && \
133+
mv runtime-x86_64 /opt/ && \
134+
yum install -y desktop-file-utils
135+
130136
FROM intermediate
131137

132138
WORKDIR /

scripts/appimage/build_appimage.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,8 @@ linuxdeploy-x86_64.AppImage --appdir appdir --plugin qt \
7474
-d "./appdir/usr/share/applications/com.kdab.hotspot.desktop" \
7575
--output appimage
7676

77+
# package appdir with type 2 runtime so we don't depend on glibc and fuse2
78+
appimagetool-x86_64.AppImage --runtime-file /opt/runtime-x86_64 appdir
79+
80+
mv Hotspot-x86_64.AppImage "/output/hotspot-static-$gitversion-x86_64.AppImage"
7781
mv Hotspot*x86_64.AppImage "/output/hotspot-$gitversion-x86_64.AppImage"

0 commit comments

Comments
 (0)