Jak zbudować program linuxdeploy z pluginem linuxdeploy-plugin-appimage
- Tworzymy katalog na źródła programu:
mkdir sources
cd sources
- Pobieramy źródła programu linuxdeploy:
git clone https://github.com/linuxdeploy/linuxdeploy.git
- Przechodzimy do podkatalogu linuxdeploy/lib:
cd linuxdeploy/lib
- Pobieramy źródła pluginu linuxdeploy-plugin-appimage:
git clone https://github.com/linuxdeploy/linuxdeploy-plugin-appimage.git
- Przechodzimy do katalogu głównego źródeł linuxdeploy i wydajemy polecenie pobierające pozostałe pluginy:
cd ..
git submodule update --init --recursive
- Nadajemy uprawnienia do wykonania skryptowi generate-excludelist.sh:
chmod 755 src/core/generate-excludelist.sh
- 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")
- Przygotowujemy katalog build do kompilacji i w jego wnętrzu budujemy aplikację:
mkdir build
cd build
cmake ..
make
- 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ę.
- 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:
- cd linuxdeploy
- git submodule update --init --recursive
Wykonanie powyższego polecenia może potrwać długo, więc bądź cierpliwy i nie przerywaj tego procesu
- mkdir build
- cd build
- cmake ..
- make
- 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ę.
- sudo cp bin/* /usr/local/bin/
- cd linuxdeploy-plugin-appimage
- mkdir build
- cd build
- cmake ..
- make
- sudo cp src/linuxdeploy-plugin-appimage /usr/local/bin/
- cd AppImageKit
- ./build-tool-osx.sh (wykonanie tego skryptu wymaga połączenia z internetem)
- sudo mkdir /usr/local/lib/appimagekit
- sudo cp build/mksquashfs-prefix/mksquashfs /usr/local/lib/appimagekit/
- 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