From f219395b253a41b1ccbc963a6848791c8513e26c Mon Sep 17 00:00:00 2001 From: iTrooz_ Date: Thu, 8 Sep 2022 09:31:49 +0200 Subject: [PATCH] build: Added AppImage zsync and updated metadata (#733) * added update information * upload zsync * set version of appimage * release: do not execute steps which needs a token when not provided * set the appimage output name directly in the recipe file * add metainfo file in every Linux package * update metainfo file * set categories in the metainfo file * add both .metainfo.xml and .appdata.xml files because it is the old standard still wanted by some things * actually use WerWolv's repository for AppImage updates * rename metainfo files * Typo : appdata and not appinfo * split screenshots --- .github/workflows/build.yml | 12 ++++++---- .github/workflows/release.yml | 4 ++++ cmake/build_helpers.cmake | 8 +++++++ dist/AppImageBuilder.yml | 5 +++-- dist/imhex.appdata.xml | 22 ------------------- dist/net.werwolv.imhex.metainfo.xml | 34 +++++++++++++++++++++++++++++ dist/rpm/imhex.spec | 2 ++ 7 files changed, 59 insertions(+), 28 deletions(-) delete mode 100644 dist/imhex.appdata.xml create mode 100644 dist/net.werwolv.imhex.metainfo.xml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index af979db1d..29f449397 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -345,10 +345,8 @@ jobs: - name: 📦 Bundle AppImage run: | cd build-appimage - mkdir -p ./AppDir/usr/share/metainfo - cp ../dist/imhex.appdata.xml ./AppDir/usr/share/metainfo/imhex.appdata.xml + export VERSION=${{env.IMHEX_VERSION}} appimage-builder --recipe ../dist/AppImageBuilder.yml - mv ImHex-AppImage-x86_64.AppImage ../imhex-${{env.IMHEX_VERSION}}.AppImage cd .. #- name: ⬆️ Upload Flatpak @@ -368,7 +366,13 @@ jobs: uses: actions/upload-artifact@v3 with: name: Linux AppImage - path: '*.AppImage' + path: 'build-appimage/*.AppImage' + + - name: ⬆️ Upload AppImage zsync + uses: actions/upload-artifact@v3 + with: + name: Linux AppImage zsync + path: 'build-appimage/*.AppImage.zsync' # ArchLinux build archlinux-build: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d1eddadeb..711915b63 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -116,6 +116,9 @@ jobs: - name: ✉️ Update C++ Plugin Template uses: mvasigh/dispatch-action@main + env: + RELEASE_TOKEN: ${{ secrets.RELEASE_TOKEN }} + if: "${{ env.RELEASE_TOKEN != '' }}" with: token: ${{ secrets.RELEASE_TOKEN }} repo: ImHex-Cpp-Plugin-Template @@ -135,6 +138,7 @@ jobs: shell: pwsh env: WINGET_GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }} + if: "${{ env.WINGET_GITHUB_TOKEN != '' }}" run: | $tagname = $env:GITHUB_REF.Replace("refs/tags/", "") $version = $tagname.Replace("v", "") diff --git a/cmake/build_helpers.cmake b/cmake/build_helpers.cmake index 4b37d0770..c49e8a904 100644 --- a/cmake/build_helpers.cmake +++ b/cmake/build_helpers.cmake @@ -265,6 +265,14 @@ macro(createPackage) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/resources/icon.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps RENAME imhex.png) install(FILES "$" DESTINATION "${CMAKE_INSTALL_LIBDIR}" PERMISSIONS ${LIBRARY_PERMISSIONS}) downloadImHexPatternsFiles("./share/imhex") + + # install AppStream file + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/dist/net.werwolv.imhex.metainfo.xml DESTINATION ${CMAKE_INSTALL_PREFIX}/share/metainfo) + + # install symlink for the old standard name + file(CREATE_LINK net.werwolv.imhex.metainfo.xml ${CMAKE_CURRENT_BINARY_DIR}/net.werwolv.imhex.appdata.xml SYMBOLIC) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/net.werwolv.imhex.appdata.xml DESTINATION ${CMAKE_INSTALL_PREFIX}/share/metainfo) + endif() if (CREATE_BUNDLE) diff --git a/dist/AppImageBuilder.yml b/dist/AppImageBuilder.yml index 2b577a231..eba390a99 100644 --- a/dist/AppImageBuilder.yml +++ b/dist/AppImageBuilder.yml @@ -6,7 +6,7 @@ AppDir: id: imhex name: ImHex icon: imhex - version: AppImage + version: "{{VERSION}}" exec: usr/bin/imhex exec_args: $@ apt: @@ -136,4 +136,5 @@ AppDir: - usr/share/doc/*/TODO.* AppImage: arch: x86_64 - update-information: guess + update-information: gh-releases-zsync|WerWolv|ImHex|latest|imhex-*.AppImage.zsync + file_name: imhex-{{VERSION}}.AppImage diff --git a/dist/imhex.appdata.xml b/dist/imhex.appdata.xml deleted file mode 100644 index 740b3069d..000000000 --- a/dist/imhex.appdata.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - imhex - CC0-1.0 - GPL-2.0 - ImHex - A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM - -

ImHex is a feature-rich Hex Editor aimed towards Reverse Engineers working with foreign data formats, malware, executables and raw memory. -Besides all the features a common Hex Editor has, ImHex also features a custom scripting language used to declare and dissect data structures, support for running YARA rules, a node-based graphical data pre-processor and support for various data sources such as files, raw disks or GDB Servers.

-
- imhex.desktop - https://imhex.werwolv.net - - - https://user-images.githubusercontent.com/10835354/139717326-8044769d-527b-4d88-8adf-2d4ecafdca1f.png - - - - imhex.desktop - -
diff --git a/dist/net.werwolv.imhex.metainfo.xml b/dist/net.werwolv.imhex.metainfo.xml new file mode 100644 index 000000000..0e952296b --- /dev/null +++ b/dist/net.werwolv.imhex.metainfo.xml @@ -0,0 +1,34 @@ + + + imhex + CC0-1.0 + GPL-2.0 + ImHex + WerWolv + hey@werwolv.net + A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM + +

ImHex is a feature-rich Hex Editor aimed towards Reverse Engineers working with foreign data formats, malware, executables and raw memory. +Besides all the features a common Hex Editor has, ImHex also features a custom scripting language used to declare and dissect data structures, support for running YARA rules, a node-based graphical data pre-processor and support for various data sources such as files, raw disks or GDB Servers.

+
+ imhex.desktop + https://imhex.werwolv.net + + + https://user-images.githubusercontent.com/10835354/139717326-8044769d-527b-4d88-8adf-2d4ecafdca1f.png + + + https://user-images.githubusercontent.com/10835354/139717323-1f8c9d52-f7eb-4f43-9f11-097ac728ed6c.png + + + + + imhex.desktop + + + + Development + + + +
diff --git a/dist/rpm/imhex.spec b/dist/rpm/imhex.spec index 2cd825c07..6d8bf58e8 100644 --- a/dist/rpm/imhex.spec +++ b/dist/rpm/imhex.spec @@ -84,5 +84,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/imhex.desktop %{_datadir}/applications/imhex.desktop %{_prefix}/lib64/libimhex.so.%{_version} %{_prefix}/lib64/imhex/plugins/* +%{_metainfodir}/net.werwolv.imhex.metainfo.xml +%{_metainfodir}/net.werwolv.imhex.appdata.xml %changelog