Closed vitforlinux-gimp closed 6 months ago
Ciao, creo queste AppImage usando il metodo Archimage, che di base usa JuNest (se sei italiano, conoscerai Morrolinux, che realizzò una recensione su quel container https://www.youtube.com/watch?v=-PGz2qFYoZc ). Di default, il container contenuto nell'Appimage monta le seguenti directory: /opt (piché il mio package manager installa tutto lì), /usr/lib/locale (per le lingue di sistema), /usr/share/fonts (per i caratteri), /usr/share/themes (per i temi di sistema), /mnt (per i dispositivi esterni), /home e /run/user
Ho approfondito il problema, si potrebbe dire che è colpa "mia" uso sistemi NOsystemd, non te ne curare, antiX e Devuan non hanno /run/user... però ora lo sappiamo.
Però strano... fino all'altro giorno andava.
Ancora Ciao
Grazie a te.
Alla fine ho messo una toppa: faccio creare a runit (che ho al posto di systemd) /run/user e mi accontento.
Nei miei AppRun (il cuore degli AppImage) ho questo schema
if test -d /media; then
MNT_MEDIA=' --bind /media /media '
fi
if test -f /etc/resolv.conf; then
ETC_RESOLV=' --bind /etc/resolv.conf /etc/resolv.conf ' # NEEDED TO CONNECT THE INTERNET
fi
BINDS=" $MNT_MEDIA $ETC_RESOLV "
if test -f $JUNEST_HOME/usr/lib/libselinux.so; then
export LD_LIBRARY_PATH=/lib/:/lib64/:/lib/x86_64-linux-gnu/:/usr/lib/:"${LD_LIBRARY_PATH}"
fi
EXEC=$(grep -e '^Exec=.*' "${HERE}"/*.desktop | head -n 1 | cut -d "=" -f 2- | sed -e 's|%.||g')
viene attivato in caso i suddetti file e cartelle non sono presenti... se vuoi posso applicarlo io
ovviamente per GIMP-dev devo aspettare che risolvano i problemi con il PKGBUILD su AUR, altrimenti non posso compilarlo... il workflow sta fallendo da oltre una settimana
Ho appena apportato un cambiamento al progetto principale https://github.com/ivan-hc/ArchImage con https://github.com/ivan-hc/ArchImage/commit/dd03e6ba7dd47e65c7d9b5ca00abd22f4293838a
il nuovo AppRun consentirà il montaggio delle directory extra ma solo nel caso siano presenti, altrimenti... felici tutti
Ora vado a patchare tutti gli altri Archimage che ho
Ho appena scoperto che è un elemento core di JuNest... non posso rimuovere quel punto di mount. Devo ripristinarlo.
https://github.com/ivan-hc/GIMP-appimage/commit/bac98e8855f41786cf4f63baf3d750b04c230811
Per essere più precisi, se esegui uno degli script che utilizzo per costruirli sul tuo PC, e disabilitando "--bind /run/user /run/user", l'Archimage funzionerà solo sul tuo sistema... ecco perchè devo tenerlo montato. Se lo costruisco tramite github actions, prenderà in considerazione il sistema usato da github actions come "host", quindi l'Archimage non funzionerà su altri computer.
Creare una directory /run/user sul proprio PC è sufficiente per risolvere il problema.
Anche il fatto che io utilizzi sed
per cambiare --bind /$HOME /$HOME
in --bind /home /home
è dovuto al modo in cui JuNest funziona. JuNest è pensato per essere dinamico e scrive e riscrive file su file a ogni comando... ecco perchè devo patcharlo, per contenerlo in un filesystem portatile notoriamente conosciuto come AppImage.
Su antix 23, ovvero Debian. Naturalmente se gliela faccio (sudo mkdir /run/user) poi funziona fino al riavvio... e io la rifaccio.
Quella cartela non c'è anche negli altri sistemi... e rimane vuota. Ma allora a che serve?
Ciao e grazie ancora.