Bonsoir @Tagada et merci de ton aide.
J’avais déjà utilisé package_linter et modifié mon code pour être conforme.
Il est ici; appli Webdav
Il n’y a aucun log avec la commande que tu proposes. Et je me suis connecté en ssh, je n’aii rien trouvé dans /var/log
C’est bien dommage…
j’ai par ailleurs constaté que les fichiers sont bien téléchargés , ils sont dans un répertoire de
/var/cache/yunohost/app_tmp_work_dirs
J’ai donc pu avancer dans la résolution du problème: il semble y avoir une erreur de code dans le fichier python de yunohost qui récupère le manifest de l’application
Voici pourquoi:
J’ai affiché le code du dernier fichier python qui plantait, à savoir
/usr/lib/python3/dist-packages/yunohost/app.py
line 1884, in _get_manifest_of_app
Le code est le suivant:
if os.path.exists(os.path.join(path, "manifest.toml")):
manifest_toml = read_toml(os.path.join(path, "manifest.toml"))
manifest = manifest_toml.copy()
install_arguments = []
for name, values in (
manifest_toml.get("arguments", {}).get("install", {}).items()
):
args = values.copy()
args["name"] = name
install_arguments.append(args)
manifest["arguments"]["install"] = install_arguments
elif os.path.exists(os.path.join(path, "manifest.json")):
manifest = read_json(os.path.join(path, "manifest.json"))
else:
raise YunohostError(
f"There doesn't seem to be any manifest file in {path} ... It looks
like an app was not correctly installed/removed.",
raw_msg=True,
D’après ce code, on cherche d’abord le manifest.toml, on le recopie; Et s’il n’existe pas, alors on cherche le manifest.json .
Or mon fichier manifest.toml est une copie presque conforme de l’exemple donné ici
example_ynh
J’avais prévu le coup en préparant aussi un manifest.json qui devait fonctionner.
Il faudrait modifier le code de app.py pour lire le json si jamais la lecture du toml plante. Mais ça ne résoudra pas le problème pour les serveurs qui sont en Yunohost <= 11.1
Donc il faudrait préciser au packageurs de ne pas faire coexister le manifest.json et le manifest.toml
Et d’ailleurs, j’aimerais bien comprendre comment on fait pour packager une application pour Yunohost <11.1 et Yunohost >11.1.
Faut-il 2 branches? Comment le serveur trouve-t-il le bon catalogue?