From 854c99bafa99ff031fa018fb3f72bde08a15e8a2 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sun, 20 Mar 2022 23:43:55 +0100 Subject: [PATCH] build: Replace manual AppImage bundling with appimage-builder script (#477) * build: Tried to streamline and fix AppImage building * build: Tried fixing build * build: Added back version key * build: Fixed AppImage name * build: Fixed python bundling, fixed ELF uploading * build: Don't upload a bunch of AppImage garbage files in the portable ELF version * build: Fixed another wrong library path * build: Removed old manual AppImage building scripts --- .github/workflows/build.yml | 53 +++++++------ dist/AppImage/Dockerfile | 40 ---------- dist/AppImage/ImHex.desktop | 6 -- dist/AppImage/README.md | 22 ------ dist/AppImage/build.sh | 16 ---- dist/AppImage/extract.sh | 26 ------- dist/AppImage/imhex.png | Bin 3410 -> 0 bytes dist/AppImage/package.sh | 58 --------------- dist/AppImageBuilder.yml | 143 ++++++++++++++++++++++++++++++++++++ dist/get_deps_debian.sh | 6 +- dist/imhex.desktop | 2 +- 11 files changed, 177 insertions(+), 195 deletions(-) delete mode 100644 dist/AppImage/Dockerfile delete mode 100644 dist/AppImage/ImHex.desktop delete mode 100644 dist/AppImage/README.md delete mode 100755 dist/AppImage/build.sh delete mode 100755 dist/AppImage/extract.sh delete mode 100644 dist/AppImage/imhex.png delete mode 100755 dist/AppImage/package.sh create mode 100644 dist/AppImageBuilder.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4db09f518..29ee96ccc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -180,6 +180,11 @@ jobs: sudo apt update sudo bash dist/get_deps_debian.sh + + sudo apt install -y python3-pip python3-setuptools patchelf desktop-file-utils libgdk-pixbuf2.0-dev fakeroot strace fuse + sudo wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool + sudo chmod +x /usr/local/bin/appimagetool + sudo pip3 install appimage-builder curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup-init.sh sh rustup-init.sh -y --default-toolchain none @@ -192,16 +197,16 @@ jobs: run: | mkdir -p build cd build - CC=gcc-10 CXX=g++-10 cmake \ + CC=gcc-11 CXX=g++-11 cmake \ -DCMAKE_BUILD_TYPE=$BUILD_TYPE \ - -DCMAKE_INSTALL_PREFIX="$PWD/install/usr" \ + -DCMAKE_INSTALL_PREFIX="/usr" \ -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -DCMAKE_C_FLAGS="-fuse-ld=lld" \ -DCMAKE_CXX_FLAGS="-fuse-ld=lld" \ -DRUST_PATH="$HOME/.cargo/bin/" \ .. - make -j 4 install + make -j 4 install DESTDIR=AppDir #- name: 📦 Bundle Flatpak # run: | @@ -212,33 +217,35 @@ jobs: # flatpak-builder --jobs=4 --repo=imhex _flatpak dist/net.werwolv.ImHex.yaml --ccache --keep-build-dirs # flatpak build-bundle imhex imhex.flatpak net.werwolv.ImHex stable - - name: 📦 Bundle DEB - run: | - cp -r build/DEBIAN build/install - dpkg-deb --build build/install - mv build/install.deb imhex.deb - rm -rf build/install/DEBIAN - - - name: 📦 Bundle AppImage - run: | - dist/AppImage/package.sh build - mv build/ImHex-x86_64.AppImage imhex.AppImage - - name: ⬆️ Upload ELF uses: actions/upload-artifact@v2 with: name: Linux ELF path: | - build/install/* + build/AppDir/* - - name: ⬆️ Upload Flatpak - uses: actions/upload-artifact@v2 - with: - name: Linux Flatpak - path: | - imhex.flatpak + - name: 📦 Bundle DEB + run: | + cp -r build/DEBIAN build/AppDir + dpkg-deb --build build/AppDir + mv build/AppDir.deb imhex.deb + rm -rf build/AppDir/DEBIAN - - name: ⬆️ Upload .deb + - name: 📦 Bundle AppImage + run: | + cd build + appimage-builder --recipe ../dist/AppImageBuilder.yml + mv ImHex-AppImage-x86_64.AppImage ../imhex.AppImage + cd .. + + #- name: ⬆️ Upload Flatpak + # uses: actions/upload-artifact@v2 + # with: + # name: Linux Flatpak + # path: | + # imhex.flatpak + + - name: ⬆️ Upload DEB uses: actions/upload-artifact@v2 with: name: Linux DEB diff --git a/dist/AppImage/Dockerfile b/dist/AppImage/Dockerfile deleted file mode 100644 index 1fe4dc626..000000000 --- a/dist/AppImage/Dockerfile +++ /dev/null @@ -1,40 +0,0 @@ -FROM debian:bullseye-slim -LABEL maintainer Example - -ARG TAG=master -ARG REPO=https://github.com/WerWolv/ImHex.git - -USER root - -# Bring packages up to date -RUN apt-get update \ - && apt-get upgrade -y \ - && apt-get autoremove -y \ - && apt-get install -y \ - git \ - cmake \ - curl \ - squashfs-tools - -# Fetch source and dependencies -RUN mkdir -p /source \ - && cd /source \ - && git clone $REPO \ - && cd ImHex \ - && git checkout $TAG \ - && git submodule update --init --recursive \ - && cd /source/ImHex/dist \ - && ./get_deps_debian.sh - -ARG CXX=g++-10 - -# Build ImHex -RUN mkdir -p /source/ImHex/build \ - && cd /source/ImHex/build \ - && cmake --install-prefix /usr -DCMAKE_BUILD_TYPE=Release .. \ - && make -j - -# Prepare for AppImage -RUN cd /source/ImHex/dist/AppImage \ - && ./package.sh /source/ImHex/build \ - && mv /source/ImHex/build/ImHex-x86_64.AppImage / diff --git a/dist/AppImage/ImHex.desktop b/dist/AppImage/ImHex.desktop deleted file mode 100644 index 87dc46e13..000000000 --- a/dist/AppImage/ImHex.desktop +++ /dev/null @@ -1,6 +0,0 @@ -[Desktop Entry] -Name=ImHex -Exec=imhex -Icon=imhex -Type=Application -Categories=Utility; diff --git a/dist/AppImage/README.md b/dist/AppImage/README.md deleted file mode 100644 index bbda0ab18..000000000 --- a/dist/AppImage/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# Building an AppImage -There are two ways of building an AppImage for ImHex, using the provided -tools here. - -If you want to create an AppImage and do not have a build to work from -already, you can use docker to build ImHex and package an AppImage. - -Alternatively you can create an AppImage using an existing build. - -## Using docker -First run `build.sh` to create a docker image. Then run `extract.sh` to get the -AppImage out. This needs to be in two steps, as a docker build cannot copy -files out. Nor can docker build use volume mounts. - -The environment variable TAG can be set to build for a specific git tag. -Without the master branch is build. - -## Using an existing build -Run `package.sh` with the build dir as an argument. E.g.: -``` -./package.sh ../../build -``` diff --git a/dist/AppImage/build.sh b/dist/AppImage/build.sh deleted file mode 100755 index 0c0561270..000000000 --- a/dist/AppImage/build.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -# Set the TAG environment variable to build a specific tag -# Set the REPO environment variable to point at a different git repository - -# Make sure we're in the same directory as this script -pushd $(dirname "$(realpath "$0")") - -BUILDARG="" -SUFFIX="" -[ -n "${TAG}" ] && BUILDARG="${BUILDARG} --build-arg=TAG=${TAG}" && SUFFIX=":${TAG}" -[ -n "${REPO}" ] && BUILDARG="${BUILDARG} --build-arg=REPO=${REPO}" - -docker build ${BUILDARG} -t imhex-appimage-build${SUFFIX} . - -popd diff --git a/dist/AppImage/extract.sh b/dist/AppImage/extract.sh deleted file mode 100755 index 298a8c299..000000000 --- a/dist/AppImage/extract.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# Set the TAG environment variable to move to a versioned name while extracting - -# Make sure we're in the same directory as this script -pushd $(dirname "$(realpath "$0")") - -SUFFIX="" -[ -n "$TAG" ] && SUFFIX=":$TAG" - -# Remove old containers -docker rm imhex 2>&1 > /dev/null - -docker run -d --name imhex imhex-appimage-build${SUFFIX} sleep 30 & -sleep 15 -docker cp imhex:/ImHex-x86_64.AppImage . - -# Move to tagged name if $TAG set -if [ -n "$TAG" ]; then - mv ImHex-x86_64.AppImage ImHex-${TAG}-x86_64.AppImage - echo -e "\nThe created AppImage can be found here:\n $(pwd)/ImHex-${TAG}-x86_64.AppImage\n\n" -else - echo -e "\nThe created AppImage can be found here:\n $(pwd)/ImHex-x86_64.AppImage\n\n" -fi - -popd diff --git a/dist/AppImage/imhex.png b/dist/AppImage/imhex.png deleted file mode 100644 index 2f993194cbdf7f99d6cf1a8e9532bfb54df7f1d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3410 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 diff --git a/dist/AppImage/package.sh b/dist/AppImage/package.sh deleted file mode 100755 index a0ea33a3f..000000000 --- a/dist/AppImage/package.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash -set -e # Exit on error -set -o pipefail # Bash specific - -usage() { - echo "Tool to package an ImHex build into an AppImage" - echo - echo "Usage:" - echo "$0 " - echo - exit -} - -MYDIR=$(dirname "$(realpath "$0")") - -# Check is a build dir has been specified and it's a dir -[ -z "$1" ] && usage -[ -d "$1" ] || usage - -set -u # Throw errors when unset variables are used - -BUILDDIR=$1 -APPDIR=${BUILDDIR}/ImHex.AppDir -APPIMAGE=${BUILDDIR}/ImHex-x86_64.AppImage - -# Prepare for AppImage -## Fetch the needed AppImage binaries -curl -L https://github.com/AppImage/AppImageKit/releases/download/13/AppRun-x86_64 -o ${MYDIR}/AppRun-x86_64 -curl -L https://github.com/AppImage/AppImageKit/releases/download/13/runtime-x86_64 -o ${MYDIR}/runtime-x86_64 - -## Setup directory structure -mkdir -p ${BUILDDIR}/ImHex.AppDir/usr/{bin,lib} ${BUILDDIR}/ImHex.AppDir/usr/share/imhex/plugins - -## Add ImHex files to structure -cp ${BUILDDIR}/imhex ${APPDIR}/usr/bin -cp ${BUILDDIR}/plugins/builtin/builtin.hexplug ${APPDIR}/usr/share/imhex/plugins -cp ${MYDIR}/{AppRun-x86_64,ImHex.desktop,imhex.png} ${APPDIR}/ -mv ${BUILDDIR}/ImHex.AppDir/AppRun-x86_64 ${APPDIR}/AppRun -chmod a+x ${BUILDDIR}/ImHex.AppDir/AppRun - -## Add all dependencies -ldd ${BUILDDIR}/imhex | awk '/ => /{print $3}' | awk '!/(libc|libstdc++|libc++|libdl|libpthread|libselinux|ld-linux|libgdk)/' | xargs -I '{}' cp '{}' ${APPDIR}/usr/lib -ldd ${BUILDDIR}/plugins/builtin/builtin.hexplug | awk '/ => /{print $3}' | awk '!/(libc|libstdc++|libc++|libdl|libpthread|libselinux|ld-linux|libgdk)/' | xargs -I '{}' cp '{}' ${APPDIR}/usr/lib -ldd ${BUILDDIR}/lib/libimhex/libimhex.so | awk '/ => /{print $3}' | awk '!/(libc|libstdc++|libc++|libdl|libpthread|libselinux|ld-linux|libgdk)/' | xargs -I '{}' cp '{}' ${APPDIR}/usr/lib - -# Package it up as described here: -# https://github.com/AppImage/AppImageKit#appimagetool-usage -# under 'If you want to generate an AppImage manually' -# This builds a v2 AppImage according to -# https://github.com/AppImage/AppImageSpec/blob/master/draft.md#type-2-image-format -mksquashfs ${APPDIR} ${BUILDDIR}/ImHex.squashfs -root-owned -noappend -cat ${MYDIR}/runtime-x86_64 > ${APPIMAGE} -cat ${BUILDDIR}/ImHex.squashfs >> ${APPIMAGE} -chmod a+x ${APPIMAGE} - -if [ ! -f /.dockerenv ]; then - echo -e "\nThe created AppImage can be found here:\n ${APPIMAGE}\n\n" -fi diff --git a/dist/AppImageBuilder.yml b/dist/AppImageBuilder.yml new file mode 100644 index 000000000..812c65729 --- /dev/null +++ b/dist/AppImageBuilder.yml @@ -0,0 +1,143 @@ +# appimage-builder recipe see https://appimage-builder.readthedocs.io for details +version: 1 +script: + - rm -rf AppDir | true + - CC=gcc-11 CXX=g++11 cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr + - make -j3 install DESTDIR=AppDir + - mv AppDir/usr/share/imhex/plugins AppDir/usr/bin/plugins + - mv AppDir/usr/constants AppDir/usr/bin/constants + - mv AppDir/usr/encodings AppDir/usr/bin/encodings + - mv AppDir/usr/includes AppDir/usr/bin/includes + - mv AppDir/usr/magic AppDir/usr/bin/magic + - mv AppDir/usr/patterns AppDir/usr/bin/patterns + - mkdir -p AppDir/usr/share/icons/hicolor/512x512 + - cp AppDir/usr/share/pixmaps/imhex.png AppDir/usr/share/icons/hicolor/512x512/imhex.png + + +AppDir: + path: ./AppDir + app_info: + id: imhex + name: ImHex + icon: imhex + version: AppImage + exec: usr/bin/imhex + exec_args: $@ + apt: + arch: + - amd64 + allow_unauthenticated: true + sources: + - sourceline: deb http://us.archive.ubuntu.com/ubuntu/ impish main restricted + - sourceline: deb http://us.archive.ubuntu.com/ubuntu/ impish-updates main restricted + - sourceline: deb http://us.archive.ubuntu.com/ubuntu/ impish universe + - sourceline: deb http://us.archive.ubuntu.com/ubuntu/ impish-updates universe + - sourceline: deb http://us.archive.ubuntu.com/ubuntu/ impish multiverse + - sourceline: deb http://us.archive.ubuntu.com/ubuntu/ impish-updates multiverse + - sourceline: deb http://us.archive.ubuntu.com/ubuntu/ impish-backports main restricted + universe multiverse + - sourceline: deb http://security.ubuntu.com/ubuntu impish-security main restricted + - sourceline: deb http://security.ubuntu.com/ubuntu impish-security universe + - sourceline: deb http://security.ubuntu.com/ubuntu impish-security multiverse + include: + - libbz2-1.0:amd64 + - libcap2:amd64 + - libdbus-1-3:amd64 + - libgpg-error0:amd64 + - liblzma5:amd64 + - libnss-mdns:amd64 + - libpcre3:amd64 + - libselinux1:amd64 + - libtinfo6:amd64 + - yaru-theme-icon + files: + include: + - /lib/x86_64-linux-gnu/libGLX.so.0 + - /lib/x86_64-linux-gnu/libGLdispatch.so.0 + - /lib/x86_64-linux-gnu/libLLVM-12.so.1 + - /lib/x86_64-linux-gnu/libOpenGL.so.0 + - /lib/x86_64-linux-gnu/libX11.so.6 + - /lib/x86_64-linux-gnu/libXau.so.6 + - /lib/x86_64-linux-gnu/libXcomposite.so.1 + - /lib/x86_64-linux-gnu/libXcursor.so.1 + - /lib/x86_64-linux-gnu/libXdamage.so.1 + - /lib/x86_64-linux-gnu/libXdmcp.so.6 + - /lib/x86_64-linux-gnu/libXext.so.6 + - /lib/x86_64-linux-gnu/libXfixes.so.3 + - /lib/x86_64-linux-gnu/libXi.so.6 + - /lib/x86_64-linux-gnu/libXinerama.so.1 + - /lib/x86_64-linux-gnu/libXrandr.so.2 + - /lib/x86_64-linux-gnu/libXrender.so.1 + - /lib/x86_64-linux-gnu/libXxf86vm.so.1 + - /lib/x86_64-linux-gnu/libatk-1.0.so.0 + - /lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0 + - /lib/x86_64-linux-gnu/libatspi.so.0 + - /lib/x86_64-linux-gnu/libblkid.so.1 + - /lib/x86_64-linux-gnu/libbrotlicommon.so.1 + - /lib/x86_64-linux-gnu/libbrotlidec.so.1 + - /lib/x86_64-linux-gnu/libbsd.so.0 + - /lib/x86_64-linux-gnu/libcairo-gobject.so.2 + - /lib/x86_64-linux-gnu/libcairo.so.2 + - /lib/x86_64-linux-gnu/libdatrie.so.1 + - /lib/x86_64-linux-gnu/libedit.so.2 + - /lib/x86_64-linux-gnu/libelf.so.1 + - /lib/x86_64-linux-gnu/libepoxy.so.0 + - /lib/x86_64-linux-gnu/libffi.so.7 + - /lib/x86_64-linux-gnu/libfontconfig.so.1 + - /lib/x86_64-linux-gnu/libfreetype.so.6 + - /lib/x86_64-linux-gnu/libfribidi.so.0 + - /lib/x86_64-linux-gnu/libgcrypt.so.20 + - /lib/x86_64-linux-gnu/libgdk-3.so.0 + - /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 + - /lib/x86_64-linux-gnu/libgio-2.0.so.0 + - /lib/x86_64-linux-gnu/libglapi.so.0 + - /lib/x86_64-linux-gnu/libglfw.so.3 + - /lib/x86_64-linux-gnu/libglib-2.0.so.0 + - /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 + - /lib/x86_64-linux-gnu/libgobject-2.0.so.0 + - /lib/x86_64-linux-gnu/libgraphite2.so.3 + - /lib/x86_64-linux-gnu/libgtk-3.so.0 + - /lib/x86_64-linux-gnu/libharfbuzz.so.0 + - /lib/x86_64-linux-gnu/libicudata.so.67 + - /lib/x86_64-linux-gnu/libicuuc.so.67 + - /lib/x86_64-linux-gnu/libjpeg.so.8 + - /lib/x86_64-linux-gnu/liblz4.so.1 + - /lib/x86_64-linux-gnu/libmagic.so.1 + - /lib/x86_64-linux-gnu/libmbedcrypto.so.3 + - /lib/x86_64-linux-gnu/libmbedtls.so.12 + - /lib/x86_64-linux-gnu/libmbedx509.so.0 + - /lib/x86_64-linux-gnu/libmd.so.0 + - /lib/x86_64-linux-gnu/libmount.so.1 + - /lib/x86_64-linux-gnu/libpango-1.0.so.0 + - /lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 + - /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 + - /lib/x86_64-linux-gnu/libpcre2-8.so.0 + - /lib/x86_64-linux-gnu/libpixman-1.so.0 + - /lib/x86_64-linux-gnu/libpng16.so.16 + - /lib/x86_64-linux-gnu/libpython3.8.so.1.0 + - /lib/x86_64-linux-gnu/libsensors.so.5 + - /lib/x86_64-linux-gnu/libstdc++.so.6 + - /lib/x86_64-linux-gnu/libsystemd.so.0 + - /lib/x86_64-linux-gnu/libthai.so.0 + - /lib/x86_64-linux-gnu/libuuid.so.1 + - /lib/x86_64-linux-gnu/libvulkan.so.1 + - /lib/x86_64-linux-gnu/libwayland-client.so.0 + - /lib/x86_64-linux-gnu/libwayland-cursor.so.0 + - /lib/x86_64-linux-gnu/libwayland-egl.so.1 + - /lib/x86_64-linux-gnu/libxcb-dri2.so.0 + - /lib/x86_64-linux-gnu/libxcb-dri3.so.0 + - /lib/x86_64-linux-gnu/libxcb-present.so.0 + - /lib/x86_64-linux-gnu/libxcb-sync.so.1 + - /lib/x86_64-linux-gnu/libxkbcommon.so.0 + - /lib/x86_64-linux-gnu/libxml2.so.2 + - /lib/x86_64-linux-gnu/libxshmfence.so.1 + - /lib/x86_64-linux-gnu/libzstd.so.1 + exclude: + - usr/share/man + - usr/share/doc/*/README.* + - usr/share/doc/*/changelog.* + - usr/share/doc/*/NEWS.* + - usr/share/doc/*/TODO.* +AppImage: + arch: x86_64 + update-information: guess diff --git a/dist/get_deps_debian.sh b/dist/get_deps_debian.sh index ec906a6c5..3b8f50bb7 100755 --- a/dist/get_deps_debian.sh +++ b/dist/get_deps_debian.sh @@ -12,8 +12,8 @@ fi apt install -y \ build-essential \ - gcc-10 \ - g++-10 \ + gcc-11 \ + g++-11 \ lld \ ${PKGCONF:-} \ cmake \ @@ -28,4 +28,4 @@ apt install -y \ libgtk-3-dev \ echo "Please consider this before running cmake (useful on e.g. Ubuntu 20.04):" -echo "export CXX=g++-10" +echo "export CXX=g++-11" diff --git a/dist/imhex.desktop b/dist/imhex.desktop index 36a72a07d..c4545fe19 100644 --- a/dist/imhex.desktop +++ b/dist/imhex.desktop @@ -3,7 +3,7 @@ Name=ImHex Comment=ImHex Hex Editor GenericName=Hex Editor Exec=/usr/bin/imhex %U -Icon=/usr/share/pixmaps/imhex.png +Icon=imhex Type=Application StartupNotify=true Categories=GNOME;GTK;Development;