├── latest-release.txt ├── .github ├── FUNDING.yml └── workflows │ ├── cronjob.yml │ ├── sunvox.yml │ ├── filezilla-server.yml │ ├── lxtask.yml │ ├── baobab3.yml │ ├── billard-gl.yml │ ├── simple-scan3.yml │ ├── extremetuxracer.yml │ ├── mate-system-monitor.yml │ ├── simplescreenrecorder.yml │ └── gnome-system-monitor3.yml ├── README.md ├── sunvox ├── billard-gl ├── mate-system-monitor ├── filezilla-server ├── extremetuxracer ├── baobab3 ├── lxtask ├── simple-scan3 ├── gnome-system-monitor3 └── simplescreenrecorder /latest-release.txt: -------------------------------------------------------------------------------- 1 | Sun Dec 21 01:46:05 UTC 2025 2 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [ivan-hc] 4 | custom: ["paypal.me/IvanAlexHC"] 5 | ko_fi: IvanAlexHC 6 | -------------------------------------------------------------------------------- /.github/workflows/cronjob.yml: -------------------------------------------------------------------------------- 1 | name: Github Action with a cronjob trigger 2 | on: 3 | schedule: 4 | - cron: "0 0 1/10 * *" 5 | 6 | workflow_dispatch: 7 | 8 | concurrency: 9 | group: ${{ github.workflow }}-${{ github.ref }} 10 | cancel-in-progress: true 11 | 12 | permissions: 13 | contents: write 14 | 15 | jobs: 16 | sync-files: 17 | name: "Run sync" 18 | runs-on: ubuntu-latest 19 | steps: 20 | - name: "Checkout source repository" 21 | uses: actions/checkout@v6 22 | 23 | - name: "Release date" 24 | run: | 25 | date > latest-release.txt 26 | 27 | - name: "Push to Source" 28 | run: | 29 | git config --global user.name "ivan-hc" 30 | git config --global user.email "noreply@github.com" 31 | git add latest-release.txt 32 | if git diff-index --quiet HEAD; then 33 | echo "No changes to commit." >> $GITHUB_STEP_SUMMARY 34 | else 35 | git commit -m "Sync files from source repository" 36 | git push && echo "Sync to Source succeeded" >> $GITHUB_STEP_SUMMARY 37 | fi 38 | -------------------------------------------------------------------------------- /.github/workflows/sunvox.yml: -------------------------------------------------------------------------------- 1 | name: sunvox Appimage 2 | concurrency: 3 | group: build-${{ github.ref }} 4 | cancel-in-progress: true 5 | 6 | on: 7 | schedule: 8 | - cron: "0 9 * * 1" 9 | workflow_dispatch: 10 | 11 | jobs: 12 | build: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v6 16 | 17 | - name: build 18 | if: always() 19 | run: | 20 | sudo apt update && sudo apt install desktop-file-utils 21 | chmod a+x ./sunvox 22 | ./sunvox 23 | mkdir dist 24 | mv *AppImage* dist/ 25 | - name: Upload artifact 26 | uses: actions/upload-artifact@v4.4.0 27 | with: 28 | name: AppImage 29 | path: 'dist' 30 | 31 | release: 32 | needs: [build] 33 | runs-on: ubuntu-latest 34 | 35 | steps: 36 | - uses: actions/download-artifact@v4.1.8 37 | with: 38 | name: AppImage 39 | 40 | - name: release 41 | uses: marvinpinto/action-automatic-releases@latest 42 | with: 43 | title: sunvox 44 | automatic_release_tag: sunvox 45 | prerelease: false 46 | draft: false 47 | files: | 48 | *.AppImage* 49 | repo_token: ${{ secrets.GITHUB_TOKEN }} 50 | -------------------------------------------------------------------------------- /.github/workflows/filezilla-server.yml: -------------------------------------------------------------------------------- 1 | name: filezilla-server Appimage 2 | concurrency: 3 | group: build-${{ github.ref }} 4 | cancel-in-progress: true 5 | 6 | on: 7 | schedule: 8 | - cron: "30 12 * * 1" 9 | workflow_dispatch: 10 | 11 | jobs: 12 | build: 13 | runs-on: ubuntu-latest 14 | steps: 15 | - uses: actions/checkout@v6 16 | 17 | - name: build 18 | if: always() 19 | run: | 20 | sudo apt update && sudo apt install desktop-file-utils 21 | chmod a+x ./filezilla-server 22 | ./filezilla-server 23 | mkdir dist 24 | mv *AppImage* dist/ 25 | - name: Upload artifact 26 | uses: actions/upload-artifact@v4.4.0 27 | with: 28 | name: AppImage 29 | path: 'dist' 30 | 31 | release: 32 | needs: [build] 33 | runs-on: ubuntu-latest 34 | 35 | steps: 36 | - uses: actions/download-artifact@v4.1.8 37 | with: 38 | name: AppImage 39 | 40 | - name: release 41 | uses: marvinpinto/action-automatic-releases@latest 42 | with: 43 | title: filezilla-server 44 | automatic_release_tag: filezilla-server 45 | prerelease: false 46 | draft: false 47 | files: | 48 | *.AppImage* 49 | repo_token: ${{ secrets.GITHUB_TOKEN }} 50 | -------------------------------------------------------------------------------- /.github/workflows/lxtask.yml: -------------------------------------------------------------------------------- 1 | name: lxtask Appimage 2 | concurrency: 3 | group: build-${{ github.ref }} 4 | cancel-in-progress: true 5 | 6 | on: 7 | workflow_dispatch: 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v6 14 | 15 | - name: build 16 | if: always() 17 | run: | 18 | sudo apt update && sudo apt install desktop-file-utils imagemagick 19 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_unconfined=0 20 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 21 | chmod a+x ./lxtask 22 | ./lxtask 23 | mkdir dist 24 | mv *AppImage dist/ 25 | - name: Upload artifact 26 | uses: actions/upload-artifact@v4.4.0 27 | with: 28 | name: lxtask-x86_64.AppImage 29 | path: 'dist' 30 | 31 | release: 32 | needs: [build] 33 | runs-on: ubuntu-latest 34 | 35 | steps: 36 | - uses: actions/download-artifact@v4.1.8 37 | with: 38 | name: lxtask-x86_64.AppImage 39 | 40 | - name: release 41 | uses: marvinpinto/action-automatic-releases@latest 42 | with: 43 | title: lxtask 44 | automatic_release_tag: lxtask 45 | prerelease: false 46 | draft: false 47 | files: | 48 | *.AppImage 49 | repo_token: ${{ secrets.GITHUB_TOKEN }} 50 | -------------------------------------------------------------------------------- /.github/workflows/baobab3.yml: -------------------------------------------------------------------------------- 1 | name: baobab3 Appimage 2 | concurrency: 3 | group: build-${{ github.ref }} 4 | cancel-in-progress: true 5 | 6 | on: 7 | workflow_dispatch: 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v6 14 | 15 | - name: build 16 | if: always() 17 | run: | 18 | sudo apt update && sudo apt install desktop-file-utils imagemagick 19 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_unconfined=0 20 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 21 | chmod a+x ./baobab3 22 | ./baobab3 23 | mkdir dist 24 | mv *AppImage dist/ 25 | - name: Upload artifact 26 | uses: actions/upload-artifact@v4.4.0 27 | with: 28 | name: baobab3-x86_64.AppImage 29 | path: 'dist' 30 | 31 | release: 32 | needs: [build] 33 | runs-on: ubuntu-latest 34 | 35 | steps: 36 | - uses: actions/download-artifact@v4.1.8 37 | with: 38 | name: baobab3-x86_64.AppImage 39 | 40 | - name: release 41 | uses: marvinpinto/action-automatic-releases@latest 42 | with: 43 | title: baobab3 44 | automatic_release_tag: baobab3 45 | prerelease: false 46 | draft: false 47 | files: | 48 | *.AppImage 49 | repo_token: ${{ secrets.GITHUB_TOKEN }} 50 | -------------------------------------------------------------------------------- /.github/workflows/billard-gl.yml: -------------------------------------------------------------------------------- 1 | name: billard-gl Appimage 2 | concurrency: 3 | group: build-${{ github.ref }} 4 | cancel-in-progress: true 5 | 6 | on: 7 | workflow_dispatch: 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v6 14 | 15 | - name: build 16 | if: always() 17 | run: | 18 | sudo apt update && sudo apt install desktop-file-utils imagemagick 19 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_unconfined=0 20 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 21 | chmod a+x ./billard-gl 22 | ./billard-gl 23 | mkdir dist 24 | mv *AppImage dist/ 25 | - name: Upload artifact 26 | uses: actions/upload-artifact@v4.4.0 27 | with: 28 | name: billard-gl-x86_64.AppImage 29 | path: 'dist' 30 | 31 | release: 32 | needs: [build] 33 | runs-on: ubuntu-latest 34 | 35 | steps: 36 | - uses: actions/download-artifact@v4.1.8 37 | with: 38 | name: billard-gl-x86_64.AppImage 39 | 40 | - name: release 41 | uses: marvinpinto/action-automatic-releases@latest 42 | with: 43 | title: billard-gl 44 | automatic_release_tag: billard-gl 45 | prerelease: false 46 | draft: false 47 | files: | 48 | *.AppImage 49 | repo_token: ${{ secrets.GITHUB_TOKEN }} 50 | -------------------------------------------------------------------------------- /.github/workflows/simple-scan3.yml: -------------------------------------------------------------------------------- 1 | name: simple-scan3 Appimage 2 | concurrency: 3 | group: build-${{ github.ref }} 4 | cancel-in-progress: true 5 | 6 | on: 7 | workflow_dispatch: 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v6 14 | 15 | - name: build 16 | if: always() 17 | run: | 18 | sudo apt update && sudo apt install desktop-file-utils imagemagick 19 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_unconfined=0 20 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 21 | chmod a+x ./simple-scan3 22 | ./simple-scan3 23 | mkdir dist 24 | mv *AppImage dist/ 25 | - name: Upload artifact 26 | uses: actions/upload-artifact@v4.4.0 27 | with: 28 | name: simple-scan3-x86_64.AppImage 29 | path: 'dist' 30 | 31 | release: 32 | needs: [build] 33 | runs-on: ubuntu-latest 34 | 35 | steps: 36 | - uses: actions/download-artifact@v4.1.8 37 | with: 38 | name: simple-scan3-x86_64.AppImage 39 | 40 | - name: release 41 | uses: marvinpinto/action-automatic-releases@latest 42 | with: 43 | title: simple-scan3 44 | automatic_release_tag: simple-scan3 45 | prerelease: false 46 | draft: false 47 | files: | 48 | *.AppImage 49 | repo_token: ${{ secrets.GITHUB_TOKEN }} 50 | -------------------------------------------------------------------------------- /.github/workflows/extremetuxracer.yml: -------------------------------------------------------------------------------- 1 | name: extremetuxracer Appimage 2 | concurrency: 3 | group: build-${{ github.ref }} 4 | cancel-in-progress: true 5 | 6 | on: 7 | workflow_dispatch: 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v6 14 | 15 | - name: build 16 | if: always() 17 | run: | 18 | sudo apt update && sudo apt install desktop-file-utils imagemagick 19 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_unconfined=0 20 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 21 | chmod a+x ./extremetuxracer 22 | ./extremetuxracer 23 | mkdir dist 24 | mv *AppImage dist/ 25 | - name: Upload artifact 26 | uses: actions/upload-artifact@v4.4.0 27 | with: 28 | name: extremetuxracer-x86_64.AppImage 29 | path: 'dist' 30 | 31 | release: 32 | needs: [build] 33 | runs-on: ubuntu-latest 34 | 35 | steps: 36 | - uses: actions/download-artifact@v4.1.8 37 | with: 38 | name: extremetuxracer-x86_64.AppImage 39 | 40 | - name: release 41 | uses: marvinpinto/action-automatic-releases@latest 42 | with: 43 | title: extremetuxracer 44 | automatic_release_tag: extremetuxracer 45 | prerelease: false 46 | draft: false 47 | files: | 48 | *.AppImage 49 | repo_token: ${{ secrets.GITHUB_TOKEN }} 50 | -------------------------------------------------------------------------------- /.github/workflows/mate-system-monitor.yml: -------------------------------------------------------------------------------- 1 | name: mate-system-monitor Appimage 2 | concurrency: 3 | group: build-${{ github.ref }} 4 | cancel-in-progress: true 5 | 6 | on: 7 | workflow_dispatch: 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v6 14 | 15 | - name: build 16 | if: always() 17 | run: | 18 | sudo apt update && sudo apt install desktop-file-utils imagemagick 19 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_unconfined=0 20 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 21 | chmod a+x ./mate-system-monitor 22 | ./mate-system-monitor 23 | mkdir dist 24 | mv *AppImage dist/ 25 | - name: Upload artifact 26 | uses: actions/upload-artifact@v4.4.0 27 | with: 28 | name: mate-system-monitor-x86_64.AppImage 29 | path: 'dist' 30 | 31 | release: 32 | needs: [build] 33 | runs-on: ubuntu-latest 34 | 35 | steps: 36 | - uses: actions/download-artifact@v4.1.8 37 | with: 38 | name: mate-system-monitor-x86_64.AppImage 39 | 40 | - name: release 41 | uses: marvinpinto/action-automatic-releases@latest 42 | with: 43 | title: mate-system-monitor 44 | automatic_release_tag: mate-system-monitor 45 | prerelease: false 46 | draft: false 47 | files: | 48 | *.AppImage 49 | repo_token: ${{ secrets.GITHUB_TOKEN }} 50 | -------------------------------------------------------------------------------- /.github/workflows/simplescreenrecorder.yml: -------------------------------------------------------------------------------- 1 | name: simplescreenrecorder Appimage 2 | concurrency: 3 | group: build-${{ github.ref }} 4 | cancel-in-progress: true 5 | 6 | on: 7 | workflow_dispatch: 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v6 14 | 15 | - name: build 16 | if: always() 17 | run: | 18 | sudo apt update && sudo apt install desktop-file-utils imagemagick 19 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_unconfined=0 20 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 21 | chmod a+x ./simplescreenrecorder 22 | ./simplescreenrecorder 23 | mkdir dist 24 | mv *AppImage* dist/ 25 | - name: Upload artifact 26 | uses: actions/upload-artifact@v4.4.0 27 | with: 28 | name: simplescreenrecorder-x86_64.AppImage 29 | path: 'dist' 30 | 31 | release: 32 | needs: [build] 33 | runs-on: ubuntu-latest 34 | 35 | steps: 36 | - uses: actions/download-artifact@v4.1.8 37 | with: 38 | name: simplescreenrecorder-x86_64.AppImage 39 | 40 | - name: release 41 | uses: marvinpinto/action-automatic-releases@latest 42 | with: 43 | title: simplescreenrecorder 44 | automatic_release_tag: simplescreenrecorder 45 | prerelease: false 46 | draft: false 47 | files: | 48 | *.AppImage* 49 | repo_token: ${{ secrets.GITHUB_TOKEN }} 50 | -------------------------------------------------------------------------------- /.github/workflows/gnome-system-monitor3.yml: -------------------------------------------------------------------------------- 1 | name: gnome-system-monitor3 Appimage 2 | concurrency: 3 | group: build-${{ github.ref }} 4 | cancel-in-progress: true 5 | 6 | on: 7 | workflow_dispatch: 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v6 14 | 15 | - name: build 16 | if: always() 17 | run: | 18 | sudo apt update && sudo apt install desktop-file-utils imagemagick 19 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_unconfined=0 20 | sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 21 | chmod a+x ./gnome-system-monitor3 22 | ./gnome-system-monitor3 23 | mkdir dist 24 | mv *AppImage dist/ 25 | - name: Upload artifact 26 | uses: actions/upload-artifact@v4.4.0 27 | with: 28 | name: gnome-system-monitor3-x86_64.AppImage 29 | path: 'dist' 30 | 31 | release: 32 | needs: [build] 33 | runs-on: ubuntu-latest 34 | 35 | steps: 36 | - uses: actions/download-artifact@v4.1.8 37 | with: 38 | name: gnome-system-monitor3-x86_64.AppImage 39 | 40 | - name: release 41 | uses: marvinpinto/action-automatic-releases@latest 42 | with: 43 | title: gnome-system-monitor3 44 | automatic_release_tag: gnome-system-monitor3 45 | prerelease: false 46 | draft: false 47 | files: | 48 | *.AppImage 49 | repo_token: ${{ secrets.GITHUB_TOKEN }} 50 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This repository is needed to build various AppImage packages from the Debian Stable/Oldstable, from some PPAs for Ubuntu and other sources. 2 | 3 | ------------------------------------------------------------------------ 4 | 5 | ## Install and update them all with ease 6 | 7 | ### *"*AM*" Application Manager* 8 | #### *Package manager, database & solutions for all AppImages and portable apps for GNU/Linux!* 9 | 10 | [![sample.png](https://raw.githubusercontent.com/ivan-hc/AM/main/sample/sample.png)](https://github.com/ivan-hc/AM) 11 | 12 | [![Readme](https://img.shields.io/github/stars/ivan-hc/AM?label=%E2%AD%90&style=for-the-badge)](https://github.com/ivan-hc/AM/stargazers) [![Readme](https://img.shields.io/github/license/ivan-hc/AM?label=&style=for-the-badge)](https://github.com/ivan-hc/AM/blob/main/LICENSE) 13 | 14 | *"AM"/"AppMan" is a set of scripts and modules for installing, updating, and managing AppImage packages and other portable formats, in the same way that APT manages DEBs packages, DNF the RPMs, and so on... using a large database of Shell scripts inspired by the Arch User Repository, each dedicated to an app or set of applications.* 15 | 16 | *The engine of "AM"/"AppMan" is the "APP-MANAGER" script which, depending on how you install or rename it, allows you to install apps system-wide (for a single system administrator) or locally (for each user).* 17 | 18 | *"AM"/"AppMan" aims to be the default package manager for all AppImage packages, giving them a home to stay.* 19 | 20 | *You can consult the entire **list of managed apps** at [**portable-linux-apps.github.io/apps**](https://portable-linux-apps.github.io/apps).* 21 | 22 | ## *Go to *https://github.com/ivan-hc/AM* for more!* 23 | 24 | ------------------------------------------------------------------------ 25 | 26 | | [***Install "AM"***](https://github.com/ivan-hc/AM) | [***See all available apps***](https://portable-linux-apps.github.io) | [***Support me on ko-fi.com***](https://ko-fi.com/IvanAlexHC) | [***Support me on PayPal.me***](https://paypal.me/IvanAlexHC) | 27 | | - | - | - | - | 28 | 29 | ------------------------------------------------------------------------ 30 | -------------------------------------------------------------------------------- /sunvox: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | APP=sunvox 4 | 5 | export ARCH="x86_64" 6 | 7 | # DEPENDENCIES 8 | 9 | dependencies="unzip" 10 | for d in $dependencies; do 11 | if ! command -v "$d" 1>/dev/null; then 12 | echo "ERROR: missing command \"d\", install the above and retry" && exit 1 13 | fi 14 | done 15 | 16 | _appimagetool() { 17 | if ! command -v appimagetool 1>/dev/null; then 18 | [ ! -f ./appimagetool ] && echo " Downloading appimagetool..." && curl -#Lo appimagetool https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-"$ARCH".AppImage && chmod a+x ./appimagetool 19 | ./appimagetool "$@" 20 | else 21 | appimagetool "$@" 22 | fi 23 | } 24 | 25 | # CREATE DIRECTORIES 26 | mkdir -p tmp/"$APP".AppDir && cd tmp || exit 1 27 | 28 | # DOWNLOAD AND EXTRACT 29 | pkg_name=$(curl -Ls https://warmplace.ru/soft/sunvox/ | tr '"<> ' '\n' | grep "zip" | head -1) 30 | 31 | if [ ! -f ./*.zip ]; then 32 | wget -q "https://warmplace.ru/soft/sunvox/$(curl -Ls https://warmplace.ru/soft/sunvox/ | tr '"<> ' '\n' | grep "zip" | head -1)" || exit 1 33 | unzip -qq ./*.zip 34 | fi 35 | 36 | VERSION=$(ls . | grep "zip" | grep -Eo "[0-9].*.zip" | sed 's/\.zip//g') 37 | 38 | cp -r ./sunvox/sunvox/linux_x86_64/sunvox "$APP".AppDir/ 39 | 40 | # APPRUN 41 | rm -f "$APP".AppDir/AppRun 42 | cat >> "$APP".AppDir/AppRun << 'EOF' 43 | #!/bin/sh 44 | HERE="$(dirname "$(readlink -f "${0}")")" 45 | exec ${HERE}/sunvox "$@" 46 | EOF 47 | chmod a+x "$APP".AppDir/AppRun 48 | 49 | # LAUNCHER 50 | echo "[Desktop Entry] 51 | Version=1.0 52 | Type=Application 53 | Name=Sunvox 54 | GenericName=Modular Synthesizer / Tracker 55 | Comment=Small, fast and powerful modular synthesizer with pattern-based sequencer (tracker). 56 | Exec=sunvox %f 57 | Icon=sunvox 58 | Terminal=false 59 | StartupNotify=false 60 | MimeType=application/x-sunvox-project;application/x-sunvox-instrument; 61 | Categories=Audio;AudioVideo;Music;Sequencer;" > "$APP".AppDir/"$APP".desktop 62 | 63 | # ICON 64 | if [ ! -f "$APP".AppDir/"$APP".png ]; then 65 | wget -q https://warmplace.ru/soft/sunvox/images/icon.png -O "$APP".AppDir/"$APP".png || exit 1 66 | fi 67 | 68 | # CONVERT THE APPDIR TO AN APPIMAGE 69 | 70 | APPNAME=$(cat "$APP".AppDir/*.desktop | grep '^Name=' | head -1 | cut -c 6- | sed 's/ /-/g') 71 | REPO="Database-of-pkg2appimaged-packages" 72 | TAG="sunvox" 73 | 74 | UPINFO="gh-releases-zsync|$GITHUB_REPOSITORY_OWNER|$REPO|$TAG|*x86_64.AppImage.zsync" 75 | 76 | ARCH=x86_64 _appimagetool -u "$UPINFO" \ 77 | "$APP".AppDir "$APPNAME"_"$VERSION"-x86_64.AppImage 78 | 79 | if ! test -f ./*.AppImage; then 80 | echo "No AppImage available."; exit 1 81 | fi 82 | cd .. && mv ./tmp/*.AppImage* . && chmod a+x ./*.AppImage || exit 1 83 | -------------------------------------------------------------------------------- /billard-gl: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -u 4 | APP=billard-gl 5 | 6 | # CREATE A TEMPORARY DIRECTORY 7 | mkdir -p tmp && cd tmp || exit 1 8 | 9 | # DOWNLOADING THE DEPENDENCIES 10 | if test -f ./appimagetool; then 11 | echo " appimagetool already exists" 1> /dev/null 12 | else 13 | echo " Downloading appimagetool..." 14 | wget -q https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage -O appimagetool 15 | fi 16 | if test -f ./pkg2appimage; then 17 | echo " pkg2appimage already exists" 1> /dev/null 18 | else 19 | echo " Downloading pkg2appimage..." 20 | wget -q https://github.com/ivan-hc/AppImaGen/releases/download/utilities/pkg2appimage -O pkg2appimage 21 | fi 22 | chmod a+x ./appimagetool ./pkg2appimage 23 | rm -f ./recipe.yml 24 | 25 | # CREATING THE HEAD OF THE RECIPE 26 | echo "app: $APP 27 | binpatch: true 28 | 29 | ingredients: 30 | 31 | dist: oldstable 32 | #script: 33 | #- COMMAND 34 | sources: 35 | - deb http://ftp.debian.org/debian/ oldstable main contrib non-free 36 | - deb http://security.debian.org/debian-security/ oldstable-security main contrib non-free 37 | - deb http://ftp.debian.org/debian/ oldstable-updates main contrib non-free 38 | packages: 39 | - $APP" > recipe.yml 40 | 41 | 42 | # DOWNLOAD ALL THE NEEDED PACKAGES AND COMPILE THE APPDIR 43 | ./pkg2appimage ./recipe.yml 44 | 45 | # VERSION 46 | MAIN_DEB=$(find . -type f -name "$APP\_*.deb" | head -1 | sed 's:.*/::') 47 | if test -f ./"$APP"/"$MAIN_DEB"; then 48 | ar x ./"$APP"/"$MAIN_DEB" && tar xf ./control.tar.* && rm -f ./control.tar.* ./data.tar.* || exit 1 49 | VERSION=$(grep Version 0/dev/null 67 | fi 68 | 69 | cp ./"$APP"/"$APP".AppDir/usr/share/pixmaps/* ./"$APP"/"$APP".AppDir/ 70 | 71 | # EXPORT THE APP TO AN APPIMAGE 72 | printf '#!/bin/sh\nexit 0' > ./desktop-file-validate # hack due to https://github.com/AppImage/appimagetool/pull/47 73 | chmod a+x ./desktop-file-validate 74 | PATH="$PATH:$PWD" ARCH=x86_64 ./appimagetool -n ./"$APP"/"$APP".AppDir 75 | if ! test -f ./*.AppImage; then 76 | echo "No AppImage available."; exit 1 77 | fi 78 | cd .. && mv ./tmp/*.AppImage ./Billard-GL-"$VERSION"-x86_64.AppImage && chmod a+x ./*.AppImage || exit 1 79 | -------------------------------------------------------------------------------- /mate-system-monitor: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | APP=mate-system-monitor 4 | 5 | # CREATE A TEMPORARY DIRECTORY 6 | mkdir -p tmp 7 | cd tmp 8 | 9 | # DOWNLOADING THE DEPENDENCIES 10 | if test -f ./appimagetool; then 11 | echo " appimagetool already exists" 1> /dev/null 12 | else 13 | echo " Downloading appimagetool..." 14 | wget -q https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage -O appimagetool 15 | fi 16 | if test -f ./pkg2appimage; then 17 | echo " pkg2appimage already exists" 1> /dev/null 18 | else 19 | echo " Downloading pkg2appimage..." 20 | wget -q https://github.com/ivan-hc/AppImaGen/releases/download/utilities/pkg2appimage -O pkg2appimage 21 | fi 22 | chmod a+x ./appimagetool ./pkg2appimage 23 | rm -f ./recipe.yml 24 | 25 | # CREATING THE HEAD OF THE RECIPE 26 | echo "app: $APP 27 | binpatch: true 28 | 29 | ingredients: 30 | 31 | dist: oldstable 32 | sources: 33 | - deb http://ftp.debian.org/debian/ oldstable main contrib non-free 34 | - deb http://security.debian.org/debian-security/ oldstable-security main contrib non-free 35 | - deb http://ftp.debian.org/debian/ oldstable-updates main contrib non-free 36 | packages: 37 | - $APP" >> recipe.yml 38 | 39 | 40 | # DOWNLOAD ALL THE NEEDED PACKAGES AND COMPILE THE APPDIR 41 | ./pkg2appimage ./recipe.yml 42 | 43 | # LIBUNIONPRELOAD 44 | #wget https://github.com/project-portable/libunionpreload/releases/download/amd64/libunionpreload.so 45 | #chmod a+x libunionpreload.so 46 | #mv ./libunionpreload.so ./$APP/$APP.AppDir/ 47 | 48 | # COMPILE SCHEMAS 49 | glib-compile-schemas ./$APP/$APP.AppDir/usr/share/glib-2.0/schemas/ || echo "No ./usr/share/glib-2.0/schemas/" 50 | 51 | # CUSTOMIZE THE APPRUN 52 | rm -R -f ./$APP/$APP.AppDir/AppRun 53 | cat >> ./$APP/$APP.AppDir/AppRun << 'EOF' 54 | #!/bin/sh 55 | HERE="$(dirname "$(readlink -f "${0}")")" 56 | export UNION_PRELOAD=/:"${HERE}" 57 | #export LD_PRELOAD="${HERE}"/libunionpreload.so 58 | export PATH="${HERE}"/usr/bin/:"${HERE}"/usr/sbin/:"${HERE}"/usr/games/:"${HERE}"/bin/:"${HERE}"/sbin/:"${PATH}" 59 | export XDG_DATA_DIRS="${HERE}"/usr/share/:"${XDG_DATA_DIRS}" 60 | export GSETTINGS_SCHEMA_DIR="${HERE}"/usr/share/glib-2.0/schemas/:"${GSETTINGS_SCHEMA_DIR}" 61 | EXEC=$(grep -e '^Exec=.*' "${HERE}"/*.desktop | head -n 1 | cut -d "=" -f 2- | sed -e 's|%.||g') 62 | exec "${HERE}"/usr/bin/"${EXEC}" "$@" 63 | EOF 64 | 65 | # MADE THE APPRUN EXECUTABLE 66 | chmod a+x ./$APP/$APP.AppDir/AppRun 67 | # END OF THE PART RELATED TO THE APPRUN, NOW WE WELL SEE IF EVERYTHING WORKS ---------------------------------------------------------------------- 68 | 69 | # IMPORT THE LAUNCHER AND THE ICON TO THE APPDIR IF THEY NOT EXIST 70 | if test -f ./$APP/$APP.AppDir/*.desktop; then 71 | echo "The desktop file exists" 72 | else 73 | echo "Trying to get the .desktop file" 74 | cp ./$APP/$APP.AppDir/usr/share/applications/*$(ls . | grep -i $APP | cut -c -4)*desktop ./$APP/$APP.AppDir/ 2>/dev/null 75 | fi 76 | 77 | wget https://upload.wikimedia.org/wikipedia/commons/8/86/Utilities-system-monitor.svg -O ./$APP/$APP.AppDir/utilities-system-monitor.png 2>/dev/null 78 | 79 | # UNCOMMENT THE FOLLOWING LINE TO REMOVE FILES IN "METAINFO" IN CASE OF ERRORS WITH "APPSTREAM" 80 | rm -R -f ./$APP/$APP.AppDir/usr/share/metainfo/* 81 | 82 | # EXPORT THE APP TO AN APPIMAGE 83 | ARCH=x86_64 ./appimagetool --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 20 ./$APP/$APP.AppDir 84 | cd .. 85 | mv ./tmp/*.AppImage . 86 | chmod a+x *.AppImage 87 | -------------------------------------------------------------------------------- /filezilla-server: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | APP=filezilla-server 4 | 5 | export ARCH="x86_64" 6 | 7 | # DEPENDENCIES 8 | 9 | dependencies="tar" 10 | for d in $dependencies; do 11 | if ! command -v "$d" 1>/dev/null; then 12 | echo "ERROR: missing command \"d\", install the above and retry" && exit 1 13 | fi 14 | done 15 | 16 | _appimagetool() { 17 | if ! command -v appimagetool 1>/dev/null; then 18 | [ ! -f ./appimagetool ] && echo " Downloading appimagetool..." && curl -#Lo appimagetool https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-"$ARCH".AppImage && chmod a+x ./appimagetool 19 | ./appimagetool "$@" 20 | else 21 | appimagetool "$@" 22 | fi 23 | } 24 | 25 | # CREATE DIRECTORIES 26 | mkdir -p "tmp/$APP".AppDir && cd tmp || exit 1 27 | 28 | ################################################################################################################################################################ 29 | # BUILD 30 | ################################################################################################################################################################ 31 | 32 | PKG_URL=$(curl -Ls https://sourceforge.net/projects/fabiololix-os-archive/files/src/ | tr ' ><"' '\n' | grep -i "^http.*linux.*tar" | head -1) 33 | VERSION=$(echo "$PKG_URL" | tr '_' '\n' | grep "^[0-9].*.[0-9]" | head -1) 34 | 35 | [ -z "$VERSION" ] && exit 0 36 | 37 | if [ ! -f ./*tar.xz ]; then 38 | curl -#Lo FileZilla.tar.xz "$PKG_URL" || exit 1 39 | tar xf ./*tar.xz 40 | fi 41 | 42 | cp -r ./F*/* "$APP".AppDir/ 43 | 44 | ################################################################################################################################################################ 45 | # COMMON 46 | ################################################################################################################################################################ 47 | 48 | # APPRUN 49 | rm -f "$APP".AppDir/AppRun 50 | cat >> "$APP".AppDir/AppRun << 'EOF' 51 | #!/bin/sh 52 | HERE="$(dirname "$(readlink -f "${0}")")" 53 | 54 | export PATH="${HERE}"/bin/:"${PATH}" 55 | export LD_LIBRARY_PATH="${HERE}"/lib/:"${LD_LIBRARY_PATH}" 56 | export XDG_DATA_DIRS="${HERE}"/share/:"${XDG_DATA_DIRS}" 57 | 58 | case "$1" in 59 | '') "${HERE}"/bin/filezilla-server-gui "$@";; 60 | *) "${HERE}"/bin/filezilla-server "$@";; 61 | esac 62 | 63 | EOF 64 | chmod a+x "$APP".AppDir/AppRun 65 | 66 | # LAUNCHER 67 | echo "[Desktop Entry] 68 | Name=FileZilla Server 69 | GenericName=FTP client 70 | GenericName[da]=FTP-klient 71 | GenericName[de]=FTP-Client 72 | GenericName[fr]=Client FTP 73 | Comment=Download and upload files via FTP, FTPS and SFTP 74 | Comment[da]=Download og upload filer via FTP, FTPS og SFTP 75 | Comment[de]=Dateien über FTP, FTPS und SFTP übertragen 76 | Comment[fr]=Transférer des fichiers via FTP, FTPS et SFTP 77 | Exec=filezilla-server-gui 78 | Terminal=false 79 | Icon=filezilla-server-gui 80 | Type=Application 81 | Categories=Network;FileTransfer; 82 | Version=1.0" > "$APP".AppDir/*.desktop 83 | 84 | # ICON 85 | cp -r "$APP".AppDir/share/icons/hicolor/256x256/apps/* "$APP".AppDir/filezilla-server-gui.png || exit 1 86 | 87 | # CONVERT THE APPDIR TO AN APPIMAGE 88 | 89 | APPNAME=$(cat "$APP".AppDir/*.desktop | grep '^Name=' | head -1 | cut -c 6- | sed 's/ /-/g') 90 | REPO="Database-of-pkg2appimaged-packages" 91 | TAG="filezilla-server" 92 | UPINFO="gh-releases-zsync|$GITHUB_REPOSITORY_OWNER|$REPO|$TAG|*x86_64.AppImage.zsync" 93 | 94 | ARCH=x86_64 _appimagetool -u "$UPINFO" \ 95 | ./"$APP".AppDir "$APPNAME"-Server_"$VERSION"-x86_64.AppImage 96 | 97 | if ! test -f ./*.AppImage; then 98 | echo "No AppImage available."; exit 1 99 | fi 100 | cd .. && mv ./tmp/*.AppImage* . && chmod a+x ./*.AppImage || exit 1 101 | -------------------------------------------------------------------------------- /extremetuxracer: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -u 4 | APP=extremetuxracer 5 | 6 | # CREATE A TEMPORARY DIRECTORY 7 | mkdir -p tmp && cd tmp || exit 1 8 | 9 | # DOWNLOADING THE DEPENDENCIES 10 | if test -f ./appimagetool; then 11 | echo " appimagetool already exists" 1> /dev/null 12 | else 13 | echo " Downloading appimagetool..." 14 | wget -q https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage -O appimagetool 15 | fi 16 | if test -f ./pkg2appimage; then 17 | echo " pkg2appimage already exists" 1> /dev/null 18 | else 19 | echo " Downloading pkg2appimage..." 20 | wget -q https://github.com/ivan-hc/AppImaGen/releases/download/utilities/pkg2appimage -O pkg2appimage 21 | fi 22 | chmod a+x ./appimagetool ./pkg2appimage 23 | rm -f ./recipe.yml 24 | 25 | # CREATING THE HEAD OF THE RECIPE 26 | echo "app: $APP 27 | binpatch: true 28 | 29 | ingredients: 30 | 31 | dist: stable 32 | #script: 33 | #- COMMAND 34 | sources: 35 | - deb http://ftp.debian.org/debian/ stable main contrib non-free 36 | - deb http://security.debian.org/debian-security/ stable-security main contrib non-free 37 | - deb http://ftp.debian.org/debian/ stable-updates main contrib non-free 38 | packages: 39 | - $APP" > recipe.yml 40 | 41 | 42 | # DOWNLOAD ALL THE NEEDED PACKAGES AND COMPILE THE APPDIR 43 | ./pkg2appimage ./recipe.yml 44 | 45 | # VERSION 46 | MAIN_DEB=$(find . -type f -name "$APP\_*.deb" | head -1 | sed 's:.*/::') 47 | if test -f ./"$APP"/"$MAIN_DEB"; then 48 | ar x ./"$APP"/"$MAIN_DEB" && tar xf ./control.tar.* && rm -f ./control.tar.* ./data.tar.* || exit 1 49 | VERSION=$(grep Version 0/dev/null 67 | fi 68 | 69 | ICONNAME=$(cat ./"$APP"/"$APP".AppDir/*desktop | grep "Icon=" | head -1 | cut -c 6-) 70 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/22x22/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 71 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/24x24/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 72 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/32x32/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 73 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/48x48/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 74 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/64x64/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 75 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/128x128/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 76 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/256x256/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 77 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/512x512/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 78 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/scalable/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 79 | cp ./"$APP"/"$APP".AppDir/usr/share/applications/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 80 | 81 | # EXPORT THE APP TO AN APPIMAGE 82 | printf '#!/bin/sh\nexit 0' > ./desktop-file-validate # hack due to https://github.com/AppImage/appimagetool/pull/47 83 | chmod a+x ./desktop-file-validate 84 | PATH="$PATH:$PWD" ARCH=x86_64 ./appimagetool -n ./"$APP"/"$APP".AppDir 85 | if ! test -f ./*.AppImage; then 86 | echo "No AppImage available."; exit 1 87 | fi 88 | cd .. && mv ./tmp/*.AppImage ./Extreme_Tux_Racer-"$VERSION"-x86_64.AppImage && chmod a+x ./*.AppImage || exit 1 89 | -------------------------------------------------------------------------------- /baobab3: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | APP=baobab 4 | 5 | # CREATE A TEMPORARY DIRECTORY 6 | mkdir -p tmp 7 | cd tmp 8 | 9 | # DOWNLOADING THE DEPENDENCIES 10 | if test -f ./appimagetool; then 11 | echo " appimagetool already exists" 1> /dev/null 12 | else 13 | echo " Downloading appimagetool..." 14 | wget -q https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage -O appimagetool 15 | fi 16 | export URUNTIME_PRELOAD=1 17 | 18 | if test -f ./pkg2appimage; then 19 | echo " pkg2appimage already exists" 1> /dev/null 20 | else 21 | echo " Downloading pkg2appimage..." 22 | wget -q https://github.com/ivan-hc/AppImaGen/releases/download/utilities/pkg2appimage -O pkg2appimage 23 | fi 24 | chmod a+x ./appimagetool ./pkg2appimage 25 | rm -f ./recipe.yml 26 | 27 | # CREATING THE HEAD OF THE RECIPE 28 | echo "app: baobab 29 | binpatch: true 30 | 31 | ingredients: 32 | 33 | dist: bullseye 34 | sources: 35 | - deb http://ftp.debian.org/debian/ bullseye main contrib non-free 36 | - deb http://security.debian.org/debian-security/ bullseye-security main contrib non-free 37 | - deb http://ftp.debian.org/debian/ bullseye-updates main contrib non-free 38 | packages: 39 | - baobab" >> recipe.yml 40 | 41 | # DOWNLOAD ALL THE NEEDED PACKAGES AND COMPILE THE APPDIR 42 | ./pkg2appimage ./recipe.yml 43 | 44 | # COMPILE SCHEMAS 45 | glib-compile-schemas ./"$APP"/"$APP".AppDir/usr/share/glib-2.0/schemas/ || echo "No ./usr/share/glib-2.0/schemas/" 46 | 47 | # CUSTOMIZE THE APPRUN 48 | rm -R -f ./"$APP"/"$APP".AppDir/AppRun 49 | cat >> ./"$APP"/"$APP".AppDir/AppRun << 'EOF' 50 | #!/bin/sh 51 | HERE="$(dirname "$(readlink -f "${0}")")" 52 | 53 | export PATH="${HERE}"/usr/bin/:"${HERE}"/usr/sbin/:"${HERE}"/usr/games/:"${HERE}"/bin/:"${HERE}"/sbin/:"${PATH}" 54 | 55 | lib_dirs=$(find "$HERE"/usr/lib -type d | sed 's#usr/lib/#DEL\n#g' | grep -v DEL$) 56 | for d in $lib_dirs; do 57 | export LD_LIBRARY_PATH="${HERE}"/usr/lib/"$d"/:"${LD_LIBRARY_PATH}" 58 | done 59 | 60 | export LD_LIBRARY_PATH="${HERE}"/usr/lib/:"${HERE}"/usr/lib/x86_64-linux-gnu/:"${HERE}"/lib/:"${HERE}"/lib64/:"${HERE}"/lib/x86_64-linux-gnu/:"${LD_LIBRARY_PATH}" 61 | export LD_LIBRARY_PATH=/lib/:/lib64/:/lib/x86_64-linux-gnu/:/usr/lib/:"${LD_LIBRARY_PATH}" # Uncomment to use system libraries 62 | 63 | export XDG_DATA_DIRS="${HERE}"/usr/share/:"${XDG_DATA_DIRS}" 64 | 65 | export GSETTINGS_SCHEMA_DIR="${HERE}"/usr/share/glib-2.0/schemas/:"${GSETTINGS_SCHEMA_DIR}" 66 | 67 | exec "${HERE}"/usr/bin/baobab "$@" 68 | EOF 69 | 70 | # MADE THE APPRUN EXECUTABLE 71 | chmod a+x ./"$APP"/"$APP".AppDir/AppRun 72 | # END OF THE PART RELATED TO THE APPRUN, NOW WE WELL SEE IF EVERYTHING WORKS ---------------------------------------------------------------------- 73 | 74 | # IMPORT THE LAUNCHER AND THE ICON TO THE APPDIR IF THEY NOT EXIST 75 | if test -f ./"$APP"/"$APP".AppDir/*.desktop; then 76 | echo "The desktop file exists" 77 | else 78 | echo "Trying to get the .desktop file" 79 | cp ./"$APP"/"$APP".AppDir/usr/share/applications/*$(ls . | grep -i "$APP" | cut -c -4)*desktop ./"$APP"/"$APP".AppDir/ 2>/dev/null 80 | fi 81 | 82 | # VERSION 83 | MAIN_DEB=$(find . -type f -name "$APP\_*.deb" | head -1 | sed 's:.*/::') 84 | if test -f "$APP"/"$MAIN_DEB"; then 85 | ar x "$APP"/"$MAIN_DEB" && tar xf ./control.tar.* && rm -f ./control.tar.* ./data.tar.* || exit 1 86 | PKG_VERSION=$(grep Version 0/dev/null 94 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/24x24/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 95 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/32x32/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 96 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/48x48/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 97 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/64x64/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 98 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/128x128/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 99 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/256x256/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 100 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/512x512/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 101 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/scalable/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 102 | cp ./"$APP"/"$APP".AppDir/usr/share/applications/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 103 | 104 | # UNCOMMENT THE FOLLOWING LINE TO REMOVE FILES IN "METAINFO" IN CASE OF ERRORS WITH "APPSTREAM" 105 | rm -R -f ./"$APP"/"$APP".AppDir/usr/share/metainfo/* 106 | 107 | # EXPORT THE APP TO AN APPIMAGE 108 | ARCH=x86_64 VERSION="$PKG_VERSION" ./appimagetool --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 20 ./"$APP"/"$APP".AppDir 109 | cd .. 110 | mv ./tmp/*.AppImage . 111 | chmod a+x *.AppImage 112 | -------------------------------------------------------------------------------- /lxtask: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -u 4 | APP=lxtask 5 | 6 | # CREATE A TEMPORARY DIRECTORY 7 | mkdir -p tmp && cd tmp || exit 1 8 | 9 | # DOWNLOADING THE DEPENDENCIES 10 | if test -f ./appimagetool; then 11 | echo " appimagetool already exists" 1> /dev/null 12 | else 13 | echo " Downloading appimagetool..." 14 | wget -q https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage -O appimagetool 15 | fi 16 | if test -f ./pkg2appimage; then 17 | echo " pkg2appimage already exists" 1> /dev/null 18 | else 19 | echo " Downloading pkg2appimage..." 20 | wget -q https://github.com/ivan-hc/AppImaGen/releases/download/utilities/pkg2appimage -O pkg2appimage 21 | fi 22 | chmod a+x ./appimagetool ./pkg2appimage 23 | rm -f ./recipe.yml 24 | 25 | # CREATING THE HEAD OF THE RECIPE 26 | echo "app: $APP 27 | binpatch: true 28 | 29 | ingredients: 30 | 31 | dist: oldstable 32 | #script: 33 | #- COMMAND 34 | sources: 35 | - deb http://ftp.debian.org/debian/ oldstable main contrib non-free 36 | - deb http://security.debian.org/debian-security/ oldstable-security main contrib non-free 37 | - deb http://ftp.debian.org/debian/ oldstable-updates main contrib non-free 38 | packages: 39 | - $APP" > recipe.yml 40 | 41 | 42 | # DOWNLOAD ALL THE NEEDED PACKAGES AND COMPILE THE APPDIR 43 | ./pkg2appimage ./recipe.yml 44 | 45 | # VERSION 46 | MAIN_DEB=$(find . -type f -name "$APP\_*.deb" | head -1 | sed 's:.*/::') 47 | if test -f ./"$APP"/"$MAIN_DEB"; then 48 | ar x ./"$APP"/"$MAIN_DEB" && tar xf ./control.tar.* && rm -f ./control.tar.* ./data.tar.* || exit 1 49 | VERSION=$(grep Version 0> ./"$APP"/"$APP".AppDir/AppRun << 'EOF' 64 | #!/bin/sh 65 | HERE="$(dirname "$(readlink -f "${0}")")" 66 | export UNION_PRELOAD="${HERE}" 67 | 68 | export PATH="${HERE}"/usr/bin/:"${HERE}"/usr/sbin/:"${HERE}"/usr/games/:"${HERE}"/bin/:"${HERE}"/sbin/:"${PATH}" 69 | 70 | if test -d "${HERE}"/libunionpreload.so; then export LD_PRELOAD="${HERE}"/libunionpreload.so; fi 71 | #export LD_LIBRARY_PATH="${HERE}"/usr/lib/:"${HERE}"/usr/lib/x86_64-linux-gnu/:"${HERE}"/lib/:"${HERE}"/lib64/:"${HERE}"/lib/x86_64-linux-gnu/:"${LD_LIBRARY_PATH}" 72 | export LD_LIBRARY_PATH=/lib/:/lib64/:/lib/x86_64-linux-gnu/:/usr/lib/:"${LD_LIBRARY_PATH}" 73 | 74 | if test -d "${HERE}"/usr/lib/python*; then 75 | PYTHONVERSION=$(find "${HERE}"/usr/lib -type d -name "python*" | head -1 | sed 's:.*/::') 76 | export PYTHONPATH="${HERE}"/usr/lib/"$PYTHONVERSION"/site-packages/:"${HERE}"/usr/lib/"$PYTHONVERSION"/lib-dynload/:"${PYTHONPATH}" 77 | export PYTHONHOME="${HERE}"/usr/ 78 | fi 79 | 80 | export XDG_DATA_DIRS="${HERE}"/usr/share/:"${XDG_DATA_DIRS}" 81 | 82 | export PERLLIB="${HERE}"/usr/share/perl5/:"${HERE}"/usr/lib/perl5/:"${PERLLIB}" 83 | 84 | export GSETTINGS_SCHEMA_DIR="${HERE}"/usr/share/glib-2.0/schemas/:"${GSETTINGS_SCHEMA_DIR}" 85 | 86 | QTVER=$(find "${HERE}"/usr/lib -type d -name "qt*" | head -1 | sed 's:.*/::') 87 | if [ -z "$QTVER" ]; then 88 | export QT_PLUGIN_PATH="${HERE}"/usr/lib/"$QTVER"/plugins/:"${HERE}"/usr/lib/x86_64-linux-gnu/"$QTVER"/plugins/:"${HERE}"/usr/lib64/"$QTVER"/plugins/:"${HERE}"/lib/"$QTVER"/plugins/:"${HERE}"/lib64/"$QTVER"/plugins/:"${QT_PLUGIN_PATH}" 89 | fi 90 | 91 | EXEC=$(grep -e '^Exec=.*' "${HERE}"/*.desktop | head -n 1 | cut -d "=" -f 2- | sed -e 's|%.||g') 92 | exec ${EXEC} "$@" 93 | EOF 94 | 95 | # MADE THE APPRUN EXECUTABLE 96 | chmod a+x ./"$APP"/"$APP".AppDir/AppRun 97 | # END OF THE PART RELATED TO THE APPRUN, NOW WE WELL SEE IF EVERYTHING WORKS ---------------------------------------------------------------------- 98 | 99 | # IMPORT THE LAUNCHER AND THE ICON TO THE APPDIR IF THEY NOT EXIST 100 | if test -f ./"$APP"/"$APP".AppDir/*.desktop; then 101 | echo "The desktop file exists" 102 | else 103 | echo "Trying to get the .desktop file" 104 | cp "./$APP/$APP.AppDir/usr/share/applications/*$(find . -type f -name "*$APP*.desktop" | head -1 | sed 's:.*/::')*" ./"$APP"/"$APP".AppDir/ 2>/dev/null 105 | fi 106 | 107 | wget https://upload.wikimedia.org/wikipedia/commons/6/64/GNOME_System_Monitor_icon_2019.svg -O ./"$APP"/"$APP".AppDir/utilities-system-monitor.svg 108 | 109 | # EXPORT THE APP TO AN APPIMAGE 110 | printf '#!/bin/sh\nexit 0' > ./desktop-file-validate # hack due to https://github.com/AppImage/appimagetool/pull/47 111 | chmod a+x ./desktop-file-validate 112 | PATH="$PATH:$PWD" ARCH=x86_64 ./appimagetool -n ./"$APP"/"$APP".AppDir 113 | if ! test -f ./*.AppImage; then 114 | echo "No AppImage available."; exit 1 115 | fi 116 | cd .. && mv ./tmp/*.AppImage ./Task_Manager-"$VERSION"-x86_64.AppImage && chmod a+x ./*.AppImage || exit 1 117 | -------------------------------------------------------------------------------- /simple-scan3: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | APP=simple-scan 4 | 5 | # CREATE A TEMPORARY DIRECTORY 6 | mkdir -p tmp 7 | cd tmp 8 | 9 | # DOWNLOADING THE DEPENDENCIES 10 | if test -f ./appimagetool; then 11 | echo " appimagetool already exists" 1> /dev/null 12 | else 13 | echo " Downloading appimagetool..." 14 | wget -q https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage -O appimagetool 15 | fi 16 | if test -f ./pkg2appimage; then 17 | echo " pkg2appimage already exists" 1> /dev/null 18 | else 19 | echo " Downloading pkg2appimage..." 20 | wget -q https://github.com/ivan-hc/AppImaGen/releases/download/utilities/pkg2appimage -O pkg2appimage 21 | fi 22 | chmod a+x ./appimagetool ./pkg2appimage 23 | rm -f ./recipe.yml 24 | 25 | # CREATING THE HEAD OF THE RECIPE 26 | echo "app: simple-scan 27 | binpatch: true 28 | 29 | ingredients: 30 | 31 | dist: bullseye 32 | sources: 33 | - deb http://ftp.debian.org/debian/ bullseye main contrib non-free 34 | - deb http://security.debian.org/debian-security/ bullseye-security main contrib non-free 35 | - deb http://ftp.debian.org/debian/ bullseye-updates main contrib non-free 36 | packages: 37 | - simple-scan" >> recipe.yml 38 | 39 | # DOWNLOAD ALL THE NEEDED PACKAGES AND COMPILE THE APPDIR 40 | ./pkg2appimage ./recipe.yml 41 | 42 | # COMPILE SCHEMAS 43 | glib-compile-schemas ./"$APP"/"$APP".AppDir/usr/share/glib-2.0/schemas/ || echo "No ./usr/share/glib-2.0/schemas/" 44 | 45 | # CUSTOMIZE THE APPRUN 46 | rm -R -f ./"$APP"/"$APP".AppDir/AppRun 47 | cat >> ./"$APP"/"$APP".AppDir/AppRun << 'EOF' 48 | #!/bin/sh 49 | HERE="$(dirname "$(readlink -f "${0}")")" 50 | 51 | export PATH="${HERE}"/usr/bin/:"${HERE}"/usr/sbin/:"${HERE}"/usr/games/:"${HERE}"/bin/:"${HERE}"/sbin/:"${PATH}" 52 | 53 | lib_dirs=$(find "$HERE"/usr/lib -type d | sed 's#usr/lib/#DEL\n#g' | grep -v DEL$) 54 | for d in $lib_dirs; do 55 | export LD_LIBRARY_PATH="${HERE}"/usr/lib/"$d"/:"${LD_LIBRARY_PATH}" 56 | done 57 | 58 | export LD_LIBRARY_PATH="${HERE}"/usr/lib/:"${HERE}"/usr/lib/x86_64-linux-gnu/:"${HERE}"/lib/:"${HERE}"/lib64/:"${HERE}"/lib/x86_64-linux-gnu/:"${LD_LIBRARY_PATH}" 59 | export LD_LIBRARY_PATH=/lib/:/lib64/:/lib/x86_64-linux-gnu/:/usr/lib/:"${LD_LIBRARY_PATH}" # Uncomment to use system libraries 60 | 61 | export XDG_DATA_DIRS="${HERE}"/usr/share/:"${XDG_DATA_DIRS}" 62 | 63 | export GSETTINGS_SCHEMA_DIR="${HERE}"/usr/share/glib-2.0/schemas/:"${GSETTINGS_SCHEMA_DIR}" 64 | 65 | exec "${HERE}"/usr/bin/simple-scan "$@" 66 | EOF 67 | 68 | # MADE THE APPRUN EXECUTABLE 69 | chmod a+x ./"$APP"/"$APP".AppDir/AppRun 70 | # END OF THE PART RELATED TO THE APPRUN, NOW WE WELL SEE IF EVERYTHING WORKS ---------------------------------------------------------------------- 71 | 72 | # IMPORT THE LAUNCHER AND THE ICON TO THE APPDIR IF THEY NOT EXIST 73 | if test -f ./"$APP"/"$APP".AppDir/*.desktop; then 74 | echo "The desktop file exists" 75 | else 76 | echo "Trying to get the .desktop file" 77 | cp ./"$APP"/"$APP".AppDir/usr/share/applications/*$(ls . | grep -i "$APP" | cut -c -4)*desktop ./"$APP"/"$APP".AppDir/ 2>/dev/null 78 | fi 79 | 80 | # VERSION 81 | MAIN_DEB=$(find . -type f -name "$APP\_*.deb" | head -1 | sed 's:.*/::') 82 | if test -f "$APP"/"$MAIN_DEB"; then 83 | ar x "$APP"/"$MAIN_DEB" && tar xf ./control.tar.* && rm -f ./control.tar.* ./data.tar.* || exit 1 84 | PKG_VERSION=$(grep Version 0/dev/null 92 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/24x24/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 93 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/32x32/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 94 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/48x48/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 95 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/64x64/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 96 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/128x128/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 97 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/256x256/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 98 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/512x512/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 99 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/scalable/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 100 | cp ./"$APP"/"$APP".AppDir/usr/share/applications/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 101 | 102 | # UNCOMMENT THE FOLLOWING LINE TO REMOVE FILES IN "METAINFO" IN CASE OF ERRORS WITH "APPSTREAM" 103 | rm -R -f ./"$APP"/"$APP".AppDir/usr/share/doc 104 | rm -R -f ./"$APP"/"$APP".AppDir/usr/share/metainfo/* 105 | rm -R -f ./"$APP"/"$APP".AppDir/usr/share/perl 106 | rm -R -f ./"$APP"/"$APP".AppDir/usr/lib/*/perl 107 | 108 | # EXPORT THE APP TO AN APPIMAGE 109 | ARCH=x86_64 VERSION="$PKG_VERSION" ./appimagetool --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 20 ./"$APP"/"$APP".AppDir 110 | cd .. 111 | mv ./tmp/*.AppImage . 112 | chmod a+x *.AppImage 113 | -------------------------------------------------------------------------------- /gnome-system-monitor3: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | APP=gnome-system-monitor 4 | 5 | # CREATE A TEMPORARY DIRECTORY 6 | mkdir -p tmp 7 | cd tmp 8 | 9 | # DOWNLOADING THE DEPENDENCIES 10 | if test -f ./appimagetool; then 11 | echo " appimagetool already exists" 1> /dev/null 12 | else 13 | echo " Downloading appimagetool..." 14 | wget -q https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage -O appimagetool 15 | fi 16 | if test -f ./pkg2appimage; then 17 | echo " pkg2appimage already exists" 1> /dev/null 18 | else 19 | echo " Downloading pkg2appimage..." 20 | wget -q https://github.com/ivan-hc/AppImaGen/releases/download/utilities/pkg2appimage -O pkg2appimage 21 | fi 22 | chmod a+x ./appimagetool ./pkg2appimage 23 | rm -f ./recipe.yml 24 | 25 | # CREATING THE HEAD OF THE RECIPE 26 | echo "app: $APP 27 | binpatch: true 28 | 29 | ingredients: 30 | 31 | dist: bullseye 32 | sources: 33 | - deb http://ftp.debian.org/debian/ bullseye main contrib non-free 34 | - deb http://security.debian.org/debian-security/ bullseye-security main contrib non-free 35 | - deb http://ftp.debian.org/debian/ bullseye-updates main contrib non-free 36 | packages: 37 | - $APP" >> recipe.yml 38 | 39 | # DOWNLOAD ALL THE NEEDED PACKAGES AND COMPILE THE APPDIR 40 | ./pkg2appimage ./recipe.yml 41 | 42 | # LIBUNIONPRELOAD 43 | wget https://github.com/project-portable/libunionpreload/releases/download/amd64/libunionpreload.so 44 | chmod a+x libunionpreload.so 45 | mv ./libunionpreload.so ./"$APP"/"$APP".AppDir/ 46 | 47 | # COMPILE SCHEMAS 48 | glib-compile-schemas ./"$APP"/"$APP".AppDir/usr/share/glib-2.0/schemas/ || echo "No ./usr/share/glib-2.0/schemas/" 49 | 50 | # CUSTOMIZE THE APPRUN 51 | rm -R -f ./"$APP"/"$APP".AppDir/AppRun 52 | cat >> ./"$APP"/"$APP".AppDir/AppRun << 'EOF' 53 | #!/bin/sh 54 | HERE="$(dirname "$(readlink -f "${0}")")" 55 | 56 | export UNION_PRELOAD="${HERE}" 57 | export LD_PRELOAD="${HERE}"/libunionpreload.so 58 | 59 | export PATH="${HERE}"/usr/bin/:"${HERE}"/usr/sbin/:"${HERE}"/usr/games/:"${HERE}"/bin/:"${HERE}"/sbin/:"${PATH}" 60 | 61 | lib_dirs=$(find "$HERE"/usr/lib -type d | sed 's#usr/lib/#DEL\n#g' | grep -v DEL$) 62 | for d in $lib_dirs; do 63 | export LD_LIBRARY_PATH="${HERE}"/usr/lib/"$d"/:"${LD_LIBRARY_PATH}" 64 | done 65 | 66 | export LD_LIBRARY_PATH="${HERE}"/usr/lib/:"${HERE}"/usr/lib/x86_64-linux-gnu/:"${HERE}"/lib/:"${HERE}"/lib64/:"${HERE}"/lib/x86_64-linux-gnu/:"${LD_LIBRARY_PATH}" 67 | export LD_LIBRARY_PATH=/lib/:/lib64/:/lib/x86_64-linux-gnu/:/usr/lib/:"${LD_LIBRARY_PATH}" # Uncomment to use system libraries 68 | 69 | export XDG_DATA_DIRS="${HERE}"/usr/share/:"${XDG_DATA_DIRS}" 70 | 71 | export GSETTINGS_SCHEMA_DIR="${HERE}"/usr/share/glib-2.0/schemas/:"${GSETTINGS_SCHEMA_DIR}" 72 | 73 | exec "${HERE}"/usr/bin/gnome-system-monitor "$@" 74 | EOF 75 | 76 | # MADE THE APPRUN EXECUTABLE 77 | chmod a+x ./"$APP"/"$APP".AppDir/AppRun 78 | # END OF THE PART RELATED TO THE APPRUN, NOW WE WELL SEE IF EVERYTHING WORKS ---------------------------------------------------------------------- 79 | 80 | # IMPORT THE LAUNCHER AND THE ICON TO THE APPDIR IF THEY NOT EXIST 81 | if test -f ./"$APP"/"$APP".AppDir/*.desktop; then 82 | echo "The desktop file exists" 83 | else 84 | echo "Trying to get the .desktop file" 85 | cp ./"$APP"/"$APP".AppDir/usr/share/applications/*$(ls . | grep -i "$APP" | cut -c -4)*desktop ./"$APP"/"$APP".AppDir/ 2>/dev/null 86 | fi 87 | 88 | # VERSION 89 | MAIN_DEB=$(find . -type f -name "$APP\_*.deb" | head -1 | sed 's:.*/::') 90 | if test -f "$APP"/"$MAIN_DEB"; then 91 | ar x "$APP"/"$MAIN_DEB" && tar xf ./control.tar.* && rm -f ./control.tar.* ./data.tar.* || exit 1 92 | PKG_VERSION=$(grep Version 0/dev/null 100 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/24x24/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 101 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/32x32/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 102 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/48x48/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 103 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/64x64/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 104 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/128x128/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 105 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/256x256/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 106 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/512x512/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 107 | cp ./"$APP"/"$APP".AppDir/usr/share/icons/hicolor/scalable/apps/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 108 | cp ./"$APP"/"$APP".AppDir/usr/share/applications/*"$ICONNAME"* ./"$APP"/"$APP".AppDir/ 2>/dev/null 109 | 110 | # UNCOMMENT THE FOLLOWING LINE TO REMOVE FILES IN "METAINFO" IN CASE OF ERRORS WITH "APPSTREAM" 111 | rm -R -f ./"$APP"/"$APP".AppDir/usr/share/metainfo/* 112 | 113 | # EXPORT THE APP TO AN APPIMAGE 114 | ARCH=x86_64 VERSION="$PKG_VERSION" ./appimagetool --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 20 ./"$APP"/"$APP".AppDir 115 | cd .. 116 | mv ./tmp/*.AppImage . 117 | chmod a+x *.AppImage 118 | -------------------------------------------------------------------------------- /simplescreenrecorder: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -u 4 | APP=simplescreenrecorder 5 | 6 | # CREATE A TEMPORARY DIRECTORY 7 | mkdir -p tmp && cd tmp || exit 1 8 | 9 | # DOWNLOADING THE DEPENDENCIES 10 | if test -f ./appimagetool; then 11 | echo " appimagetool already exists" 1> /dev/null 12 | else 13 | echo " Downloading appimagetool..." 14 | wget -q https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage -O appimagetool 15 | fi 16 | if test -f ./pkg2appimage; then 17 | echo " pkg2appimage already exists" 1> /dev/null 18 | else 19 | echo " Downloading pkg2appimage..." 20 | wget -q https://github.com/ivan-hc/AppImaGen/releases/download/utilities/pkg2appimage -O pkg2appimage 21 | fi 22 | chmod a+x ./appimagetool ./pkg2appimage 23 | rm -f ./recipe.yml 24 | 25 | # CREATING THE HEAD OF THE RECIPE 26 | echo "app: $APP 27 | union: true 28 | 29 | ingredients: 30 | dist: trusty 31 | script: 32 | - wget https://github.com/tsujan/Kvantum/releases/download/V0.10.5/kvantum_0.10.5-ubuntuLTS_amd64.deb 33 | sources: 34 | - deb http://it.archive.ubuntu.com/ubuntu/ trusty main universe 35 | ppas: 36 | - maarten-baert/simplescreenrecorder 37 | packages: 38 | - $APP 39 | - kvantum" > recipe.yml 40 | 41 | 42 | # DOWNLOAD ALL THE NEEDED PACKAGES AND COMPILE THE APPDIR 43 | ./pkg2appimage ./recipe.yml 44 | 45 | # VERSION 46 | MAIN_DEB=$(find . -type f -name "$APP\_*.deb" | head -1 | sed 's:.*/::') 47 | if test -f ./"$APP"/"$MAIN_DEB"; then 48 | ar x ./"$APP"/"$MAIN_DEB" && tar xf ./control.tar.* && rm -f ./control.tar.* ./data.tar.* || exit 1 49 | VERSION=$(grep Version 0> ./"$APP"/"$APP".AppDir/AppRun << 'EOF' 64 | #!/bin/sh 65 | HERE="$(dirname "$(readlink -f "${0}")")" 66 | export UNION_PRELOAD="${HERE}" 67 | export LD_PRELOAD="${HERE}/libunionpreload.so" 68 | export PATH="${HERE}"/usr/bin/:"${HERE}"/usr/sbin/:"${HERE}"/usr/games/:"${HERE}"/bin/:"${HERE}"/sbin/:"${PATH}" 69 | export LD_LIBRARY_PATH=/lib/:/lib64/:/usr/lib/:/lib/x86_64-linux-gnu/:"${HERE}"/usr/lib/:"${HERE}"/usr/lib/i386-linux-gnu/:"${HERE}"/usr/lib/x86_64-linux-gnu/:"${HERE}"/usr/lib32/:"${HERE}"/usr/lib64/:"${HERE}"/lib/:"${HERE}"/lib/i386-linux-gnu/:"${HERE}"/lib/x86_64-linux-gnu/:"${HERE}"/lib32/:"${HERE}"/lib64/:"${LD_LIBRARY_PATH}" 70 | export PYTHONPATH="${HERE}"/usr/share/pyshared/:"${PYTHONPATH}" 71 | export PYTHONHOME="${HERE}"/usr/ 72 | export XDG_DATA_DIRS="${HERE}"/usr/share/:"${XDG_DATA_DIRS}" 73 | export PERLLIB="${HERE}"/usr/share/perl5/:"${HERE}"/usr/lib/perl5/:"${PERLLIB}" 74 | export GSETTINGS_SCHEMA_DIR="${HERE}"/usr/share/glib-2.0/schemas/:"${GSETTINGS_SCHEMA_DIR}" 75 | export QT_PLUGIN_PATH="${HERE}"/usr/lib/qt4/plugins/:"${HERE}"/usr/lib/i386-linux-gnu/qt4/plugins/:"${HERE}"/usr/lib/x86_64-linux-gnu/qt4/plugins/:"${HERE}"/usr/lib32/qt4/plugins/:"${HERE}"/usr/lib64/qt4/plugins/:"${HERE}"/usr/lib/qt5/plugins/:"${HERE}"/usr/lib/i386-linux-gnu/qt5/plugins/:"${HERE}"/usr/lib/x86_64-linux-gnu/qt5/plugins/:"${HERE}"/usr/lib32/qt5/plugins/:"${HERE}"/usr/lib64/qt5/plugins/:"${QT_PLUGIN_PATH}" 76 | if test -d /usr/share/Kvantum; then 77 | export QT_STYLE_OVERRIDE=kvantum 78 | fi 79 | exec "${HERE}"/usr/bin/simplescreenrecorder "$@" 80 | EOF 81 | 82 | # MADE THE APPRUN EXECUTABLE 83 | chmod a+x ./"$APP"/"$APP".AppDir/AppRun 84 | # END OF THE PART RELATED TO THE APPRUN, NOW WE WELL SEE IF EVERYTHING WORKS ---------------------------------------------------------------------- 85 | 86 | # IMPORT THE LAUNCHER AND THE ICON TO THE APPDIR IF THEY NOT EXIST 87 | if test -f ./"$APP"/"$APP".AppDir/*.desktop; then 88 | echo "The desktop file exists" 89 | else 90 | echo "Trying to get the .desktop file" 91 | cp "./$APP/$APP.AppDir/usr/share/applications/*$(find . -type f -name "*$APP*.desktop" | head -1 | sed 's:.*/::')*" ./"$APP"/"$APP".AppDir/ 2>/dev/null 92 | fi 93 | 94 | # DEBLOAT 95 | rm -R -f ./"$APP"/"$APP".AppDir/usr/lib/x86_64-linux-gnu/qt5 96 | rm -R -f ./"$APP"/"$APP".AppDir/usr/lib/x86_64-linux-gnu/*Qt*so.5* 97 | rm -R -f ./"$APP"/"$APP".AppDir/usr/lib/x86_64-linux-gnu/libharfbuzz* 98 | rm -R -f ./"$APP"/"$APP".AppDir/usr/lib/x86_64-linux-gnu/libfreetype* 99 | strip --strip-debug ./"$APP"/"$APP".AppDir/usr/lib/* 100 | strip --strip-debug ./"$APP"/"$APP".AppDir/usr/lib/x86_64-linux-gnu/* 101 | strip --strip-unneeded ./"$APP"/"$APP".AppDir/usr/bin/* 102 | 103 | # EXPORT THE APP TO AN APPIMAGE 104 | APPNAME=$(cat ./"$APP"/"$APP".AppDir/*.desktop | grep 'Name=' | head -1 | cut -c 6- | sed 's/ /-/g') 105 | REPO="Database-of-pkg2appimaged-packages" 106 | TAG="simplescreenrecorder" 107 | VERSION="$VERSION" 108 | UPINFO="gh-releases-zsync|$GITHUB_REPOSITORY_OWNER|$REPO|$TAG|*x86_64.AppImage.zsync" 109 | ARCH=x86_64 ./appimagetool --comp zstd --mksquashfs-opt -Xcompression-level --mksquashfs-opt 20 \ 110 | -u "$UPINFO" \ 111 | ./"$APP"/"$APP".AppDir ./"$APPNAME"_"$VERSION"-x86_64.AppImage 112 | if ! test -f ./*.AppImage; then 113 | echo "No AppImage available."; exit 1 114 | fi 115 | cd .. && mv ./tmp/*.AppImage* ./ && chmod a+x ./*.AppImage || exit 1 116 | --------------------------------------------------------------------------------