seahawk, wenn du noch dabei bist. Können wir das ganze anders angehen? Statt du schreibt was zu machen ist. Schreibe ich was ich plane. Und du kannst dann kommentieren. Wenn wie ich es machen möchte umständlicher ist, bevorzuge ich das.
Ich habe
sudo apt install cmake ninja-build valac gettext libgee-0.8-dev libsqlite3-dev libgtk-3-dev libgpgme-dev libsoup2.4-dev libgcrypt20-dev libqrencode-dev libgspell-1-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libwebrtc-audio-processing-dev libsrtp2-dev libnice-dev glib-networking gstreamer1.0-plugins-good gstreamer1.0-gtk3 libsignal-protocol-c-devdurchgeführt.
Ich habe downloadet linuxdeploy-x86_64.AppImage und marked allow execute file as program.
Soweit so gut.
Ich habe downloadet dino-master.zip und extracted. Umbenannt in dino und in home folder platziert.
Wozu?
Dann habe ich in home folder einen folder namens dino.AppDir kreiert. In dem den folder usr kreiert. In dem den folder bin kreiert.
Was soll das bringen? Beim make install
werden die Ordner unter berücksichtigung des DESTDIR
doch eh angelegt.
Kann ich im dino.AppDir einen 256 x 256 dino.png icon platzieren?
Können tust du schon, bringen wird dir das nichts, weil das die Validierung nicht übersteht.
Stat ein build folder zu benutzen, kann man dann einen bin folder benutzen? Das heisst dino.AppDir/usr/bin.
Nicht ohne dich mit cmake anzulegen - und es muss ja wesentlich mehr als die fertigen Binaries ins Appimage.
Soll ich jetzt den Inhalt vom dino folder in folder dino.AppDir/usr/bin kopieren? Dann cd in dino.AppDir/usr/bin? Dann command line make
Es geht darum, das ich beim jeder Schritt weniger machen möchte. Dafür mehrere Schritte.
Ich hatte das eigentlich schon auf die kleinste Zahl von Schritten eingedampft - wenn du dir ohnehin den aktuellen Stand aus dem master-Zweig holst, sparst du dir auch den Schritt mit dem Herumpatchen bei den Metadaten der Screenshots - der ganze Vorgang ist vollständig skriptbar - unter der Annahme, dass die Pakete für die Abhängigkeiten schon installiert sind, sind das dann diese Schritte:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | #!/usr/bin/bash # this is the directory where the newly created AppImage should reside TARGET_DIR=~/bin # create the target directory if it does not exist yet mkdir -p "$TARGET_DIR" # create a temporary directory to build dino WORK_DIR=$(mktemp -d) # remove the temporary directory when the script exits trap "rm -r \"$WORK_DIR\"" EXIT # enter the temporary directory cd "$WORK_DIR" # download linuxdeploy appimage wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage -O linuxdeploy-x86_64.AppImage # make the linuxdeploy appimage executable chmod +x linuxdeploy-x86_64.AppImage # download source code wget https://github.com/dino/dino/archive/refs/heads/master.tar.gz # extract source code tar xzfv master.tar.gz # enter source directory cd dino-master # configure the buildsystem - we want to override the "/usr/local" prefix with "/usr" ./configure --prefix="/usr" # compile the program make # install the program to a folder in the build-directory make DESTDIR=Dino.AppDir install # enter build directory cd build LD_LIBRARY_PATH=Dino.AppDir/usr/lib/ ../../linuxdeploy-x86_64.AppImage --appdir Dino.AppDir/ --output appimage # copy the created AppImage to the TARGET_DIR cp Dino-x86_64.AppImage "$TARGET_DIR" |