Souci de dépendances (pas de débat, ni polémique, mais une tentative pour comprendre !)

Salut :wink:

Merci de respecter le but de ce post et ne pas relancer un débat stérile.
Je vais donc donner du détail pour voir ou cela peut pêcher !

Voilà je viens de refaire une VM sous ESXi 6.7, Debian 10.
En ssh, je passe en root avec sudo -i
Je fais ensuite

apt-get update
apt-get upgrade
apt-get dist-upgrade

Ensuite j’ai installé en récupérant le script etc. et je le configure et met à jour vers Jeedom v4.1.16alpha

Voilà, je pense jusque là, je suis à jour, sur une fresh install en 64Bits
** J’ai vu que certains packets nécessaires au plugin ne sont pas compatibles avec du 32Bits **

J’installe ensuite le plugin en version stable, version 2020-11-24 20:52:27
Je l’active et je lance l’installation des dépendances.

Voici le log, dans lequel je n’ai aucune erreur (quelques warnings)

Début de l'installation
Lecture des listes de paquets…
Construction de l'arbre des dépendances…
Lecture des informations d'état…
adb est déjà la version la plus récente (1:8.1.0+r23-5).
golang-go est déjà la version la plus récente (2:1.11~1).
jq est déjà la version la plus récente (1.5+dfsg-2+b1).
python3-pip est déjà la version la plus récente (18.1-5).
python3-dev est déjà la version la plus récente (3.7.3-1).
Le paquet suivant a été installé automatiquement et n'est plus nécessaire :
linux-image-4.19.0-6-amd64
Veuillez utiliser « sudo apt autoremove » pour le supprimer.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 7 non mis à jour.
Requirement already satisfied: gpsoauth in /usr/local/lib/python3.7/dist-packages (0.4.1)
Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages/requests-2.25.0-py3.7.egg (from gpsoauth) (2.25.0)
Requirement already satisfied: pycryptodomex>=3.0 in /usr/local/lib/python3.7/dist-packages (from gpsoauth) (3.9.9)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests->gpsoauth) (2018.8.24)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/lib/python3/dist-packages (from requests->gpsoauth) (3.0.4)
Requirement already satisfied: idna<3,>=2.5 in /usr/lib/python3/dist-packages (from requests->gpsoauth) (2.6)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3/dist-packages (from requests->gpsoauth) (1.24.1)
Requirement already satisfied: gTTS in /usr/local/lib/python3.7/dist-packages (2.2.1)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from gTTS) (1.12.0)
Requirement already satisfied: click in /usr/local/lib/python3.7/dist-packages (from gTTS) (7.1.2)
Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages/requests-2.25.0-py3.7.egg (from gTTS) (2.25.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests->gTTS) (2018.8.24)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/lib/python3/dist-packages (from requests->gTTS) (3.0.4)
Requirement already satisfied: idna<3,>=2.5 in /usr/lib/python3/dist-packages (from requests->gTTS) (2.6)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3/dist-packages (from requests->gTTS) (1.24.1)
running install
running bdist_egg
running egg_info
writing catt.egg-info/PKG-INFO
writing dependency_links to catt.egg-info/dependency_links.txt
writing entry points to catt.egg-info/entry_points.txt
writing requirements to catt.egg-info/requires.txt
writing top-level names to catt.egg-info/top_level.txt
reading manifest file 'catt.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'HISTORY.rst'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
warning: no files found matching '*.rst' under directory 'docs'
warning: no files found matching 'conf.py' under directory 'docs'
warning: no files found matching 'Makefile' under directory 'docs'
warning: no files found matching 'make.bat' under directory 'docs'
warning: no files found matching '*.jpg' under directory 'docs'
warning: no files found matching '*.png' under directory 'docs'
warning: no files found matching '*.gif' under directory 'docs'
writing manifest file 'catt.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/api.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/error.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/stream_info.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/util.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/controllers.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/__init__.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/subs_info.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/cli.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/http_server.py -> build/bdist.linux-x86_64/egg/catt
byte-compiling build/bdist.linux-x86_64/egg/catt/api.py to api.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/error.py to error.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/stream_info.py to stream_info.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/util.py to util.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/controllers.py to controllers.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/subs_info.py to subs_info.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/cli.py to cli.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/http_server.py to http_server.cpython-37.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/entry_points.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
creating 'dist/catt-0.11.3-py3.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing catt-0.11.3-py3.7.egg
removing '/usr/local/lib/python3.7/dist-packages/catt-0.11.3-py3.7.egg' (and everything under it)
creating /usr/local/lib/python3.7/dist-packages/catt-0.11.3-py3.7.egg
Extracting catt-0.11.3-py3.7.egg to /usr/local/lib/python3.7/dist-packages
catt 0.11.3 is already the active version in easy-install.pth
Installing catt script to /usr/local/bin
Installed /usr/local/lib/python3.7/dist-packages/catt-0.11.3-py3.7.egg
Processing dependencies for catt==0.11.3
Searching for youtube-dl==2020.11.24
Best match: youtube-dl 2020.11.24
Processing youtube_dl-2020.11.24-py3.7.egg
youtube-dl 2020.11.24 is already the active version in easy-install.pth
Installing youtube-dl script to /usr/local/bin
Using /usr/local/lib/python3.7/dist-packages/youtube_dl-2020.11.24-py3.7.egg
Searching for requests==2.25.0
Best match: requests 2.25.0
Processing requests-2.25.0-py3.7.egg
requests 2.25.0 is already the active version in easy-install.pth
Using /usr/local/lib/python3.7/dist-packages/requests-2.25.0-py3.7.egg
Searching for ifaddr==0.1.7
Best match: ifaddr 0.1.7
Processing ifaddr-0.1.7-py3.7.egg
ifaddr 0.1.7 is already the active version in easy-install.pth
Using /usr/local/lib/python3.7/dist-packages/ifaddr-0.1.7-py3.7.egg
Searching for PyChromecast==6.0.0
Best match: PyChromecast 6.0.0
Processing PyChromecast-6.0.0-py3.7.egg
PyChromecast 6.0.0 is already the active version in easy-install.pth
Using /usr/local/lib/python3.7/dist-packages/PyChromecast-6.0.0-py3.7.egg
Searching for click==7.1.2
Best match: click 7.1.2
Adding click 7.1.2 to easy-install.pth file
Using /usr/local/lib/python3.7/dist-packages
Searching for urllib3==1.24.1
Best match: urllib3 1.24.1
Adding urllib3 1.24.1 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for idna==2.6
Best match: idna 2.6
Adding idna 2.6 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for chardet==3.0.4
Best match: chardet 3.0.4
Adding chardet 3.0.4 to easy-install.pth file
Installing chardetect script to /usr/local/bin
Using /usr/lib/python3/dist-packages
Searching for certifi==2018.8.24
Best match: certifi 2018.8.24
Adding certifi 2018.8.24 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for zeroconf==0.28.6
Best match: zeroconf 0.28.6
Processing zeroconf-0.28.6-py3.7.egg
zeroconf 0.28.6 is already the active version in easy-install.pth
Using /usr/local/lib/python3.7/dist-packages/zeroconf-0.28.6-py3.7.egg
Searching for protobuf==4.0.0rc2
Best match: protobuf 4.0.0rc2
Processing protobuf-4.0.0rc2-py3.7.egg
protobuf 4.0.0rc2 is already the active version in easy-install.pth
Using /usr/local/lib/python3.7/dist-packages/protobuf-4.0.0rc2-py3.7.egg
Searching for casttube==0.2.1
Best match: casttube 0.2.1
Processing casttube-0.2.1-py3.7.egg
casttube 0.2.1 is already the active version in easy-install.pth
Using /usr/local/lib/python3.7/dist-packages/casttube-0.2.1-py3.7.egg
Searching for six==1.12.0
Best match: six 1.12.0
Adding six 1.12.0 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for setuptools==40.8.0
Best match: setuptools 40.8.0
Adding setuptools 40.8.0 to easy-install.pth file
Installing easy_install script to /usr/local/bin
Using /usr/lib/python3/dist-packages
Finished processing dependencies for catt==0.11.3
Fin de l'installation

Pour vous éviter de chercher les warning de ce log les voici

warning: no files found matching 'HISTORY.rst'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
warning: no files found matching '*.rst' under directory 'docs'
warning: no files found matching 'conf.py' under directory 'docs'
warning: no files found matching 'Makefile' under directory 'docs'
warning: no files found matching 'make.bat' under directory 'docs'
warning: no files found matching '*.jpg' under directory 'docs'
warning: no files found matching '*.png' under directory 'docs'
warning: no files found matching '*.gif' under directory 'docs'

Résultat : Statut : NOK Dernière Installation : Inconnue
Je décide de saisir mon compte donc email et password, que je vérifie 2 fois.
Je sauvegarde cela et là je me dis pourquoi pas si cela ce trouve ce login password doit être renseigné et sauvegardé avant de lancer les dépendances (j’y crois pas un instant mais bon)

Relance des dépendances et nouveau log

Début de l'installation
Reading package lists...
Building dependency tree...
Reading state information...
adb is already the newest version (1:8.1.0+r23-5).
golang-go is already the newest version (2:1.11~1).
jq is already the newest version (1.5+dfsg-2+b1).
python3-pip is already the newest version (18.1-5).
python3-dev is already the newest version (3.7.3-1).
The following package was automatically installed and is no longer required:
linux-image-4.19.0-6-amd64
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.
Requirement already satisfied: gpsoauth in /usr/local/lib/python3.7/dist-packages (0.4.1)
Requirement already satisfied: pycryptodomex>=3.0 in /usr/local/lib/python3.7/dist-packages (from gpsoauth) (3.9.9)
Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages/requests-2.25.0-py3.7.egg (from gpsoauth) (2.25.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests->gpsoauth) (2018.8.24)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/lib/python3/dist-packages (from requests->gpsoauth) (3.0.4)
Requirement already satisfied: idna<3,>=2.5 in /usr/lib/python3/dist-packages (from requests->gpsoauth) (2.6)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3/dist-packages (from requests->gpsoauth) (1.24.1)
Requirement already satisfied: gTTS in /usr/local/lib/python3.7/dist-packages (2.2.1)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from gTTS) (1.12.0)
Requirement already satisfied: click in /usr/local/lib/python3.7/dist-packages (from gTTS) (7.1.2)
Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages/requests-2.25.0-py3.7.egg (from gTTS) (2.25.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests->gTTS) (2018.8.24)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/lib/python3/dist-packages (from requests->gTTS) (3.0.4)
Requirement already satisfied: idna<3,>=2.5 in /usr/lib/python3/dist-packages (from requests->gTTS) (2.6)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/lib/python3/dist-packages (from requests->gTTS) (1.24.1)
running install
running bdist_egg
running egg_info
writing catt.egg-info/PKG-INFO
writing dependency_links to catt.egg-info/dependency_links.txt
writing entry points to catt.egg-info/entry_points.txt
writing requirements to catt.egg-info/requires.txt
writing top-level names to catt.egg-info/top_level.txt
reading manifest file 'catt.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'HISTORY.rst'
warning: no previously-included files matching '__pycache__' found under directory '*'
warning: no previously-included files matching '*.py[co]' found under directory '*'
warning: no files found matching '*.rst' under directory 'docs'
warning: no files found matching 'conf.py' under directory 'docs'
warning: no files found matching 'Makefile' under directory 'docs'
warning: no files found matching 'make.bat' under directory 'docs'
warning: no files found matching '*.jpg' under directory 'docs'
warning: no files found matching '*.png' under directory 'docs'
warning: no files found matching '*.gif' under directory 'docs'
writing manifest file 'catt.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/api.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/error.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/stream_info.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/util.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/controllers.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/__init__.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/subs_info.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/cli.py -> build/bdist.linux-x86_64/egg/catt
copying build/lib/catt/http_server.py -> build/bdist.linux-x86_64/egg/catt
byte-compiling build/bdist.linux-x86_64/egg/catt/api.py to api.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/error.py to error.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/stream_info.py to stream_info.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/util.py to util.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/controllers.py to controllers.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/subs_info.py to subs_info.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/cli.py to cli.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/catt/http_server.py to http_server.cpython-37.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/entry_points.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying catt.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
creating 'dist/catt-0.11.3-py3.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing catt-0.11.3-py3.7.egg
removing '/usr/local/lib/python3.7/dist-packages/catt-0.11.3-py3.7.egg' (and everything under it)
creating /usr/local/lib/python3.7/dist-packages/catt-0.11.3-py3.7.egg
Extracting catt-0.11.3-py3.7.egg to /usr/local/lib/python3.7/dist-packages
catt 0.11.3 is already the active version in easy-install.pth
Installing catt script to /usr/local/bin
Installed /usr/local/lib/python3.7/dist-packages/catt-0.11.3-py3.7.egg
Processing dependencies for catt==0.11.3
Searching for youtube-dl==2020.11.24
Best match: youtube-dl 2020.11.24
Processing youtube_dl-2020.11.24-py3.7.egg
youtube-dl 2020.11.24 is already the active version in easy-install.pth
Installing youtube-dl script to /usr/local/bin
Using /usr/local/lib/python3.7/dist-packages/youtube_dl-2020.11.24-py3.7.egg
Searching for requests==2.25.0
Best match: requests 2.25.0
Processing requests-2.25.0-py3.7.egg
requests 2.25.0 is already the active version in easy-install.pth
Using /usr/local/lib/python3.7/dist-packages/requests-2.25.0-py3.7.egg
Searching for ifaddr==0.1.7
Best match: ifaddr 0.1.7
Processing ifaddr-0.1.7-py3.7.egg
ifaddr 0.1.7 is already the active version in easy-install.pth
Using /usr/local/lib/python3.7/dist-packages/ifaddr-0.1.7-py3.7.egg
Searching for PyChromecast==6.0.0
Best match: PyChromecast 6.0.0
Processing PyChromecast-6.0.0-py3.7.egg
PyChromecast 6.0.0 is already the active version in easy-install.pth
Using /usr/local/lib/python3.7/dist-packages/PyChromecast-6.0.0-py3.7.egg
Searching for click==7.1.2
Best match: click 7.1.2
Adding click 7.1.2 to easy-install.pth file
Using /usr/local/lib/python3.7/dist-packages
Searching for urllib3==1.24.1
Best match: urllib3 1.24.1
Adding urllib3 1.24.1 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for idna==2.6
Best match: idna 2.6
Adding idna 2.6 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for chardet==3.0.4
Best match: chardet 3.0.4
Adding chardet 3.0.4 to easy-install.pth file
Installing chardetect script to /usr/local/bin
Using /usr/lib/python3/dist-packages
Searching for certifi==2018.8.24
Best match: certifi 2018.8.24
Adding certifi 2018.8.24 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for zeroconf==0.28.6
Best match: zeroconf 0.28.6
Processing zeroconf-0.28.6-py3.7.egg
zeroconf 0.28.6 is already the active version in easy-install.pth
Using /usr/local/lib/python3.7/dist-packages/zeroconf-0.28.6-py3.7.egg
Searching for protobuf==4.0.0rc2
Best match: protobuf 4.0.0rc2
Processing protobuf-4.0.0rc2-py3.7.egg
protobuf 4.0.0rc2 is already the active version in easy-install.pth
Using /usr/local/lib/python3.7/dist-packages/protobuf-4.0.0rc2-py3.7.egg
Searching for casttube==0.2.1
Best match: casttube 0.2.1
Processing casttube-0.2.1-py3.7.egg
casttube 0.2.1 is already the active version in easy-install.pth
Using /usr/local/lib/python3.7/dist-packages/casttube-0.2.1-py3.7.egg
Searching for six==1.12.0
Best match: six 1.12.0
Adding six 1.12.0 to easy-install.pth file
Using /usr/lib/python3/dist-packages
Searching for setuptools==40.8.0
Best match: setuptools 40.8.0
Adding setuptools 40.8.0 to easy-install.pth file
Installing easy_install script to /usr/local/bin
Using /usr/lib/python3/dist-packages
Finished processing dependencies for catt==0.11.3
Fin de l'installation

Les warning ont disparus, normal cette fois y avait des trucs à faire du à la première fois

Résultat : Demon : Nok Dernière Installation : Inconnue

==> Questions

1/ Je ne vois pas partant d’une fresh install ce que j’ai loupé ou mal fait qui aurait pu aboutir à ce résultat. :frowning:

2/ Je ne vois pas dans les logs d’installation ce qui fait que le statut reste NOK

PS : sur ma prod en novembre je l’avais installé et fait fonctionner, la je ne comprends donc pas ce qui se passe et si je fais une telle tartine, c’est pour comprendre et améliorer les choses ou coté Jeedom ou coté plugin !!

PS2 : @Lunarok, je n’aime pas tagguer de la sorte et je m’en excuse d’avance auprès de toi.
Mais sur ce déroulé d’installation from scratch et que je pense correcte, je ne vois pas où j’ai pêché et ne comprends pas pourquoi je suis en statut NOK.

Merci

3eme Question
Comme je ne sais pas je préfère demander, ce n’est pas un souci de droits ?
En effet comme on le voit ci-dessous certains dossiers sont uniquement accessible par root

image

hello

Là clairement… des droits root pour des fichiers utilisés par www-data ça doit pas aller loin
(comme ça ressemble aux répertoires de compilation, il est pas impossible que cette partie soit lancée avec un sudo … )

Dans le code j’ai trouvé cela

public static function dependancy_info() {
			$return = array();
			$return['progress_file'] = jeedom::getTmpFolder('ghlocal') . '/dependance';
			$cmd = "pip3 list | grep gpsoauth";
			exec($cmd, $output, $return_var);
			$return['state'] = 'nok';
			if (array_key_exists(0,$output)) {
				if ($output[0] != "") {
					if (file_exists('/root/go/bin/grpcurl')) {
						$return['state'] = 'ok';
					}
				}
			}
			return $return;
		}

		public static function dependancy_install() {
			$dep_info = self::dependancy_info();
			log::remove(__CLASS__ . '_dep');
			if ($dep_info['state'] != 'ok') {
				$resource_path = realpath(dirname(__FILE__) . '/../../resources');
				passthru('/bin/bash ' . $resource_path . '/install.sh ' . $resource_path . ' ' . jeedom::getTmpFolder('ghlocal') . '/dependancy > ' . log::getPathToLog(__CLASS__ . '_dep') . ' 2>&1 &');
			} else {
				$resource_path = realpath(dirname(__FILE__) . '/../../resources');
				passthru('/bin/bash ' . $resource_path . '/install.sh ' . $resource_path . ' ' . jeedom::getTmpFolder('ghlocal') . '/dependancy > ' . log::getPathToLog(__CLASS__ . '_dep') . ' 2>&1 &');
			}
		}

Alors en ssh, loggué root
pip3 list | grep gpsoauth
donne

root@WooperA:/tmp/jeedom/ghlocal# pip3 list | grep gpsoauth
gpsoauth            0.4.1

Idem

if (file_exists('/root/go/bin/grpcurl')) ca existe
image

Donc je chercher, je cherche mais je ne sais toujours pas pourquoi mes dépendances sont NOK

Mouais…
C’est quand même pas clair d’avoir un bout d’install dans /root…
ça veut dire que le processus est lancé en root aussi, sinon pas d’accès à ces dossiers…

Remets un sudo dans le code du check … voir si c’est mieux

			$cmd = "sudo pip3 list | grep gpsoauth";

et à voir comment est fichu le file_exists('/root/go/bin/grpcurl') pour avoir l’équivalent en root

le sudo devant pip3 dans le code ne change rien.

le reste je en sais pas comment faire, je ne suis pas dev

Pour tester brutalement

Là forcement ça check plus rien, et c’est OK même quand c’est pourri

1 « J'aime »

Effectivement ça passe OK ^^

Du coup j’ai le log GHLocal que j’ai mis en debug qui est apparu et a trouvé des choses.

[2020-12-10 10:00:05][DEBUG] : Key YdB75kIAAAAAAAAA0UI9Pspul/n9skP9f+lpH8siKeCgdydzPN3v2Osac3lRCP+3sHylaLl/AwCNVKksNQ/lCNctPysVPCQ5Jf9VgSFlwfQ= for Cuisine
[2020-12-10 10:00:05][DEBUG] : Key Yk3QpkEDAAAAAAAAGZlfIaSei+g00EvanbGqdGIgh9MG/8+koV29w4yVnYndTydd+ewEGZ7uaxp0ulYhx9X4kGpv0odEVHIEzmrKI/Ln2N+I for Salon
[2020-12-10 10:00:05][DEBUG] : Key 6pTbOnUCAAAAAAAAGqze5IbKzUbpFFxHftwKBvFdNtY08kj/LcmwaFKihfvnnxhXrO8ugURA+0MA9r1KsfwJrqeqJJhZxixDto1jlgwgaGx4 for Chambre

Ce sont mes 3 GoogleHome…

Alors maintenant comprendre pourquoi, je suis désolé j’en suis incapable.
Je pense que je suis allé au bout de ce que je peux faire et comprendre

Et donc je ne sais pas comment résoudre ce souci.

Ben là c’est lunarok qui est mesure d’apporter quelques éléments maintenant.

  • c’est obligé d’aller installer ça dans /root ?
  • si oui, comment s’assurer d’avoir des droits suffisants => www-data (qui lance la Verif dépendance) ne sait pas y accéder avec le code actuel…
  • pourquoi l’ancienne installation fonctionne => grosse revue du code ?

En l’état ça semble pas fonctionnel en tout cas

OK merci de ton aide en tout cas.
Je vais tester la beta et voir si il y a un changement de ce coté là.

Après effectivement, j’attendrai de voir ce que Lunarok en pense.

EDIT : Idem avec la beta.

Hello,
J’ai le meme problème avec un RPI4 et raspberry pi 64 bits from scratch en stable ou en beta.
J’ai fait l’installation des dépendances de golang à la main et copié les fichiers dans /root/go, mis les droits pour www-data, et relancé l’installation des dépendances.
Elles sont toujours en KO mais le plugin se lance bien et est fonctionnel.
Je pense comme vous à un souci de droits quelque part.
j’ai ouvert un ticket il y a deux jours de mon coté.

Alors quand j’ai modifié

$return['progress_file'] = jeedom::getTmpFolder('ghlocal') . '/dependance';

par

$return['progress_file'] = jeedom::getTmpFolder('ghlocal') . '/dependancy';

Je vois le % d’avancement des dépendances et une date apparaitre !
Même si cela reste NOK.

En effet j’ai vu dans les logs qu’un moment cela parlait de /tmp/jeedom/ghlocal/dependency et pas dependence du coup j’ai voulu tenter …

Sous linux on voit bien le fichier apparaitre sous cette orthographe avant modif dans le code pour ensuite être supprimé
image

Bon je viens de mettre www-data www-data à la place de root sur
/tmp/jeedom/ghlocal
/var/www/html/plugins/ghlocal/resources/catt (tous les sous dossiers ou c’était root)
et sur /go en recursif avec -R

et j’obtiens

Et ca vit dans les logs…

[2020-12-10 12:00:10][DEBUG] : Key Yk3QpkEDAAAAAAAAGZlfIaSei+g00EvanbGqdGIgh9MG/8+koV29w4yVnYndTydd+ewEGZ7uaxp0ulYhx9X4kGpv0odEVHIEzmrKI/Ln2N+I for Salon
[2020-12-10 12:00:10][DEBUG] : Key 6pTbOnUCAAAAAAAAGqze5IbKzUbpFFxHftwKBvFdNtY08kj/LcmwaFKihfvnnxhXrO8ugURA+0MA9r1KsfwJrqeqJJhZxixDto1jlgwgaGx4 for Chambre parentale
[2020-12-10 12:03:04][DEBUG] : Scan Info DND
[2020-12-10 12:03:04][DEBUG] : Send https://192.168.1.42:8443/setup/assistant/notifications with body {} and token YdB75kIAAAAAAAAA0UI9Pspul/n9skP9f+lpH8siKeCgdydzPN3v2Osac3lRCP+3sHylaLl/AwCNVKksNQ/lCNctPysVPCQ5Jf9VgSFlwfQ=
[2020-12-10 12:03:04][DEBUG] : Result {"notifications_enabled":true}
[2020-12-10 12:03:04][DEBUG] : Retrieve DND Array (     [notifications_enabled] => 1 )
[2020-12-10 12:03:04][DEBUG] : Scan Info Volume
[2020-12-10 12:03:04][DEBUG] : Send https://192.168.1.42:8443/setup/assistant/alarms/volume with body {}

Bon ben j’aurai aimé plus de participation, plus de retour sur ce que mes moyens intellectuels ont mis en évidence mais a priori peu de personne pour confirmer ou pas mes dires mes tests et autres…

Donc tout va bien et il n’y a aucun souci a régler, aucun bug.

Bref je laisse tomber.

Hello

Là je pense que tu as fait le plus gros du boulot, l’installation a l’air nettement plus propre. C’est dingue que ça soit pas comme ça dès le début.
Le reste sauf à disposer du plugin, du matériel et d’un peu de compétences en dev ça risque d’être compliqué tout seul.
Tu peux toujours ajouter des lignes de debug pour suivre étapes par étapes là où ça passe mais ça n’ira pas beaucoup plus loin.

2 « J'aime »

Mise à jour ce matin de la beta.
Donc j’ai d’abord supprimé le plugin en entier puis j’ai installé cette nouvelle beta pour revalider le tout :wink:

Du code a changé, faisant suite à ce que j’ai remonté hier dans ce post certainement :wink: merci

Dans la nouvelle on a

		public static function dependancy_info() {
			$return = array();
			$return['progress_file'] = jeedom::getTmpFolder('ghlocal') . '/dependancy';
			$cmd = "test -f /root/go/bin/grpcurl && echo '1'";
			exec($cmd, $output, $return_var);
			$return['state'] = 'nok';
			if (array_key_exists(0,$output)) {
				if ($output[0] != "") {
					$return['state'] = 'ok';
				}
			}
			return $return;
		}

On voit que « dependancy » a été corrigé et que le test a également changé.

Sous linux en root le test donne
image
** Mais si je suis pas en root j’ai pas de retour …**

Du coup résultat à NOK.

Donc je me suis dit que si en ssh le test sans être root ne retournait rien que j’allais modifier le test

$cmd = "sudo test -f /root/go/bin/grpcurl && echo '1'";

Et là BINGO :grin: :

Bon par contre même si je relance les dépendances, la date heure de dernière installation n’est pas mise a jour et je sais pas si c’est normal ou pas. Dans d’autre plugin l’heure se met à jour…

Je constate aussi que lors de l’installation le script donne les droits à www-data comme je l’ai appliqué à la main hier

sudo chown -R www-data:www-data catt
sudo chown -R www-data:www-data /root/go/

Mais du coup je ne comprends pas pourquoi je dois mettre sudo dans le test pour que ca soit OK !
Sous linux on voit bien que www-data a bien les droits en 755 partout :

image

Je le répète, je ne suis pas dev du tout j’essaye de comprendre et heureusement que j’ai plus de cheveux à arracher :joy: :joy:

En tout cas @Lunarok merci d’avoir corrigé et sorti une nouvelle beta suite à mes recherches d’hier

Me reste à comprendre cette histoire de date/heure qui se met pas à jour si on relance les dépendances et ce « sudo » obligatoire dans le test alors que pour moi les droits linux sont OK

Bon je suis c** je viens de réaliser, un user moi, ou www-data ou un user moi dans le groupe www-data n’a pas accès à /root donc même si on donne les permissions sur les dossiers /root/go ça ne fonctionne pas !
drwx------ 7 root root 4096 déc. 11 07:05 root

Donc comme j’ai pas envie de modifier les droits sur /root je laisse le sudo dans le test
A voir ce que Lunarok fera dans une prochaine version du plugin.

Je prends le risque de mettre à jour le plugin en beta sur ma prod et je reviens si souci, sinon je vais me coucher !

Lut,

Effectivement 700 ça laisse pas beaucoup d’accès aux autres …
C’est quand même pas très propre comme install ce go
Je me contenterai de googlecast pour mes interactions avec mes GH

Une nouvelle beta ce jour, je ne rencontre plus aucun souci lors de l’installation et les dépendances.

Voilà je passe à résolu

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.