Laboratorium Komputerowe Progmar
Marcin Załęczny

Na stronie używamy cookies. Korzystając z witryny wyrażasz zgodę na ich wykorzystywanie.      Zamknij

Jak zbudować program linuxdeploy z pluginem linuxdeploy-plugin-appimage

  1. Tworzymy katalog na źródła programu:
    mkdir sources
    cd sources
  2. Pobieramy źródła programu linuxdeploy: git clone https://github.com/linuxdeploy/linuxdeploy.git
  3. Przechodzimy do podkatalogu linuxdeploy/lib:
    cd linuxdeploy/lib
  4. Pobieramy źródła pluginu linuxdeploy-plugin-appimage:
    git clone https://github.com/linuxdeploy/linuxdeploy-plugin-appimage.git
  5. Przechodzimy do katalogu głównego źródeł linuxdeploy i wydajemy polecenie pobierające pozostałe pluginy:
    cd ..
    git submodule update --init --recursive
  6. Nadajemy uprawnienia do wykonania skryptowi generate-excludelist.sh:
    chmod 755 src/core/generate-excludelist.sh
  7. Edytujemy plik CMakeLists i zastępujemy tam linię:
    set(USE_SYSTEM_CIMG ON CACHE BOOL "Set to OFF to use CImg library bundled in lib directory")
    linią:
    set(USE_SYSTEM_CIMG OFF CACHE BOOL "Set to OFF to use CImg library bundled in lib directory")
  8. Przygotowujemy katalog build do kompilacji i w jego wnętrzu budujemy aplikację:
    mkdir build
    cd build
    cmake ..
    make
  9. Jeśli podczas kompilacji wystąpią błędy:
    cc1: all warnings being treated as errors
    co może się zdarzyć w Ubuntu 21.10 i nowszym, to w bieżącym katalogu (build) wykonujemy polecenie:
    grep -r "Werror" *
    i następnie we wszystkich znalezionych plikach zastępujemy teksty:
    -Werror -Wno-error=dangling-else
    tekstem:
    -Wno-error
    i ponawiamy kompilację.
  10. Po kompilacji pliki programu linuxdeploy zostaną umieszczone w podkatalogu:
    bin

Jak zbudować najnowsze wersje wszystkich składników programów linuxdeploy / linuxdeploy-plugin-appimage plugin / AppImageKit ze źródeł

Źródła linuxdeploy są tutaj:

git clone https://github.com/linuxdeploy/linuxdeploy.git

Źródła pluginu linuxdeploy appimage są tutaj:

git clone https://github.com/linuxdeploy/linuxdeploy-plugin-appimage.git
cd linuxdeploy-plugin-appimage/lib
rm -rf args
git clone https://github.com/Taywee/args.git

AppImageKit jest tutaj:

git clone https://github.com/AppImage/AppImageKit.git

Kompilacja:

  1. cd linuxdeploy
  2. git submodule update --init --recursive
    Wykonanie powyższego polecenia może potrwać długo, więc bądź cierpliwy i nie przerywaj tego procesu
  3. mkdir build
  4. cd build
  5. cmake ..
  6. make
  7. Jeśli podczas kompilacji wystąpią błędy:
    cc1: all warnings being treated as errors
    co może się zdarzyć w Ubuntu 21.10 i nowszym, to w bieżącym katalogu (build) wykonujemy polecenie:
    grep -r "Werror" *
    i następnie we wszystkich znalezionych plikach zastępujemy teksty:
    -Werror -Wno-error=dangling-else
    tekstem:
    -Wno-error
    i ponawiamy kompilację.
  8. sudo cp bin/* /usr/local/bin/
  1. cd linuxdeploy-plugin-appimage
  2. mkdir build
  3. cd build
  4. cmake ..
  5. make
  6. sudo cp src/linuxdeploy-plugin-appimage /usr/local/bin/
  1. cd AppImageKit
  2. ./build-tool-osx.sh (wykonanie tego skryptu wymaga połączenia z internetem)
  3. sudo mkdir /usr/local/lib/appimagekit
  4. sudo cp build/mksquashfs-prefix/mksquashfs /usr/local/lib/appimagekit/
  5. sudo cp build/src/appimagetool /usr/local/bin/
Pozostałe zależności można zainstalować bezpośrednio z repozytorium Ubuntu. O tym czego brakuje proces kompilujący będzie na bieżąco informował w postaci błędów kompilacji