diff --git a/.github/workflows/appimage/Dockerfile b/.github/workflows/appimage/Dockerfile
index 65eba24..b74343d 100644
--- a/.github/workflows/appimage/Dockerfile
+++ b/.github/workflows/appimage/Dockerfile
@@ -1,9 +1,9 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
RUN apt-get update -q -y \
# Install appimage-builder and appimagetool dependencies.
&& DEBIAN_FRONTEND="noninteractive" apt-get install -q -y --no-install-recommends \
- appstream curl desktop-file-utils fakeroot file git gnupg patchelf zsync \
+ appstream curl desktop-file-utils fakeroot file git gnupg patchelf squashfs-tools zsync \
python3-pip python3-setuptools python3-wheel \
&& \
# Install appimagetool, it has to be extracted because FUSE doesn't work in containers without extra fiddling.
@@ -16,7 +16,7 @@ RUN apt-get update -q -y \
rm appimagetool-x86_64.AppImage && \
cd - && \
# Install appimage-builder.
- pip3 install git+https://github.com/AppImageCrafters/appimage-builder.git@v0.8.3 && \
+ pip3 install git+https://github.com/AppImageCrafters/appimage-builder.git@669213cb730e007d5b316ed19b39691fbdcd41c4 && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
diff --git a/.github/workflows/appimage/entrypoint.sh b/.github/workflows/appimage/entrypoint.sh
index e1f7b9e..9c37ff2 100755
--- a/.github/workflows/appimage/entrypoint.sh
+++ b/.github/workflows/appimage/entrypoint.sh
@@ -1,5 +1,8 @@
#!/bin/bash
+# Should be in .gitignore.
+export APPIMAGE_BUILD_DIR=build.appimage
+
# Install dependencies
if [ ! -z ${INPUT_APT_DEPENDENCIES+x} ]; then
apt-get update -q -y
@@ -7,4 +10,4 @@ if [ ! -z ${INPUT_APT_DEPENDENCIES+x} ]; then
fi
# Run appimage-builder
-appimage-builder --skip-test --recipe ${INPUT_RECIPE}
+appimage-builder --skip-test --build-dir ${APPIMAGE_BUILD_DIR} --appdir ${APPIMAGE_BUILD_DIR}/AppDir --recipe ${INPUT_RECIPE}
diff --git a/assets/freedesktop/org.zealdocs.zeal.appdata.xml.in b/assets/freedesktop/org.zealdocs.zeal.appdata.xml.in
index f7f6502..49eb37b 100644
--- a/assets/freedesktop/org.zealdocs.zeal.appdata.xml.in
+++ b/assets/freedesktop/org.zealdocs.zeal.appdata.xml.in
@@ -15,8 +15,7 @@
https://zealdocs.org/
https://github.com/zealdocs/zeal/issues
https://zealdocs.org/usage.html
-
-
+ https://go.zealdocs.org/l/contact
The main window
diff --git a/pkg/appimage/README.md b/pkg/appimage/README.md
new file mode 100644
index 0000000..efd9fad
--- /dev/null
+++ b/pkg/appimage/README.md
@@ -0,0 +1,47 @@
+# AppImage Package
+
+## Local Testing
+
+Run Docker container:
+
+```shell
+docker run -it --rm -v $(pwd):/src --entrypoint /bin/bash ubuntu:jammy
+```
+
+Install `appimage-builder` and `appimagetool` dependencies:
+
+```shell
+apt-get update -q -y
+DEBIAN_FRONTEND="noninteractive" apt-get install -q -y --no-install-recommends appstream curl desktop-file-utils fakeroot file git gnupg patchelf squashfs-tools zsync python3-pip python3-setuptools python3-wheel
+```
+
+Install appimagetool, it has to be extracted because FUSE doesn't work in containers without extra fiddling.
+
+```shell
+cd /tmp
+curl -sLO https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
+chmod +x appimagetool-x86_64.AppImage
+./appimagetool-x86_64.AppImage --appimage-extract
+mv squashfs-root/ /opt/appimagetool.AppDir
+ln -s /opt/appimagetool.AppDir/AppRun /usr/local/bin/appimagetool
+cd -
+```
+
+Install appimage-builder.
+
+```shell
+pip3 install git+https://github.com/AppImageCrafters/appimage-builder.git@669213cb730e007d5b316ed19b39691fbdcd41c4
+```
+
+Install build dependencies:
+
+```shell
+apt-get install -q -y --no-install-recommends build-essential cmake extra-cmake-modules libappindicator-dev libarchive-dev libqt5x11extras5-dev libsqlite3-dev libxcb-keysyms1-dev ninja-build qtbase5-dev qtwebengine5-dev
+```
+
+Run `appimage-builder`:
+
+```shell
+cd /src
+appimage-builder --skip-test --build-dir build.appimage --appdir build.appimage/AppDir --recipe pkg/appimage/appimage-amd64.yml
+```
diff --git a/pkg/appimage/appimage-amd64.yml b/pkg/appimage/appimage-amd64.yml
index 15c390e..03a69e3 100644
--- a/pkg/appimage/appimage-amd64.yml
+++ b/pkg/appimage/appimage-amd64.yml
@@ -1,13 +1,11 @@
version: 1
script:
- - cmake -B build.appimage -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo
- - cmake --build build.appimage
- - cmake --install build.appimage --prefix build.appimage/AppDir/usr
+ - cmake -B $BUILD_DIR/cmake-build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo
+ - cmake --build $BUILD_DIR/cmake-build
+ - cmake --install $BUILD_DIR/cmake-build --prefix $TARGET_APPDIR/usr
AppDir:
- path: build.appimage/AppDir
-
app_info:
id: org.zealdocs.zeal
name: zeal
@@ -24,10 +22,10 @@ AppDir:
apt:
arch: amd64
sources:
- - sourceline: deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
- - sourceline: deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
- - sourceline: deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
- key_url: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32
+ - sourceline: deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse
+ key_url: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920d1991bc93c
+ - sourceline: deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse
+ - sourceline: deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse
include:
# Required Qt packages.
- libqt5concurrent5
@@ -47,7 +45,12 @@ AppDir:
- libfreetype6
exclude:
- "*dbgsym*"
+ - adwaita-icon-theme
+ - dconf-service
+ - gcc-*
- gnupg
+ - humanity-icon-theme
+ - libsystemd0
- libwacom*
- perl
- perl-*
@@ -57,19 +60,15 @@ AppDir:
files:
exclude:
- - usr/include
- - usr/share/man
- - usr/share/doc
- - usr/share/doc/*/README.*
- - usr/share/doc/*/changelog.*
- - usr/share/doc/*/NEWS.*
- - usr/share/doc/*/TODO.*
- - lib/systemd
- etc/systemd
- - usr/bin/systemd*
- - usr/bin/dpkg*
+ - lib/systemd
- usr/bin/*-linux-gnu-*
- #- usr/share/locale
+ - usr/bin/dpkg*
+ - usr/bin/systemd*
+ - usr/include
+ - usr/lib/x86_64-linux-gnu/gconv
+ - usr/share/doc
+ - usr/share/man
AppImage:
arch: x86_64