Multiple issues detected in the script which needs to be take care of...
./package_linter.py earthstarserver-ynh
[YunoHost App Package Linter]
App packaging documentation - https://yunohost.org/en/contribute/packaging_apps
App package example - https://github.com/YunoHost/example_ynh
Official helpers - https://yunohost.org/en/contribute/packaging_apps/helpers
Experimental helpers - https://github.com/YunoHost-Apps/Experimental_helpers
If you believe this linter returns false negative (warnings / errors which shouldn't happen),
please report them on https://github.com/YunoHost/package_linter/issues
Analyzing app earthstarserver-ynh ...
! manifest
! There are still some FIXMEs remaining in the manifest
! The license id 'GNU GPLv3' is not registered in https://spdx.org/licenses/.
✔ scripts/_common.sh
! scripts/install
✘ ynh_abort_if_errors or set -eu is now handled by YunoHost core in packaging v2, you should not have to add it to your script !
! You should not need to reload nginx at the end of the script ... it's already taken care of by ynh_add_nginx_config
✔ scripts/remove
! scripts/upgrade
✘ ynh_abort_if_errors or set -eu is now handled by YunoHost core in packaging v2, you should not have to add it to your script !
! You should not need to reload nginx at the end of the script ... it's already taken care of by ynh_add_nginx_config
! scripts/backup
✘ ynh_abort_if_errors or set -eu is now handled by YunoHost core in packaging v2, you should not have to add it to your script !
! scripts/restore
✘ ynh_abort_if_errors or set -eu is now handled by YunoHost core in packaging v2, you should not have to add it to your script !
! General stuff, misc helper usage
! The whole thing about doc/DISCLAIMER.md is refactored again in v2 (sorry about that :/) to improve the UX - basically people shouldnt have to actively go read the READMEs to get those infos
You are encouraged to split its infos into:
- Integration-related infos (eg. LDAP/SSO support, arch support, resource usage, ...)
-> neant to go in the 'integration' section of the manifest.toml
- Antifeatures-related infos (eg. alpha/deprecated software, arbitrary limiations, ...)
-> these are now formalized using the 'antifeatures' mechanism in the app catalog directly : cf https://github.com/YunoHost/apps/blob/master/antifeatures.yml and the 'antifeatures' key in apps.json
- Important infos that the admin should be made aware of *before* or *after* the install
-> infos *before* the install are meant to go in 'doc/notifications/pre_install.md'
-> infos *after* the install are meant to go in 'doc/notifications/post_install.md' (mostly meant to replace ynh_send_readme_to_admin, typically tips about how to login for the first time on the app / finish the install, ...).
-> these will be shown to the admin before/after the install (and the post_install notif will also be available in the app info page)
-> note that in these files, the __FOOBAR__ syntax is supported and replaced with the corresponding 'foobar' setting.
- General admin-related infos (eg. how to access the admin interface of the app, how to install plugin, etc)
-> meant to go in 'doc/ADMIN.md' which shall be made available in the app info page in the webadmin after installation.
-> if relevant, you can also create custom doc page, just create 'doc/WHATEVER.MD' and this will correspond to a specific documentation tab in the webadmin.
-> note that in these files, the __FOOBAR__ syntax is supported and replaced with the corresponding 'foobar' setting.
! The doc/ folder seems to still contain some dummy, placeholder messages in the .md markdown files. If those files are not useful in the context of your app, simply remove them.
! Using helper ynh_abort_if_errors is deprecated when using packaging v2 ... It is replaced by: nothing, handled by the core, just get rid of it
! Using helper ynh_backup_before_upgrade is deprecated when using packaging v2 ... It is replaced by: nothing, handled by the core, just get rid of it
! Using helper ynh_clean_setup is deprecated when using packaging v2 ... It is replaced by: (?)
! Using helper ynh_find_port is deprecated when using packaging v2 ... It is replaced by: the port resource
! Using helper ynh_legacy_permissions_delete_all is deprecated when using packaging v2 ... It is replaced by: the permission resource
! Using helper ynh_legacy_permissions_exists is deprecated when using packaging v2 ... It is replaced by: the permission resource
! Using helper ynh_permission_update is deprecated when using packaging v2 ... It is replaced by: the permission resource
! Using helper ynh_restore_upgradebackup is deprecated when using packaging v2 ... It is replaced by: nothing, handled by the core, just get rid of it
! Using helper ynh_system_user_create is deprecated when using packaging v2 ... It is replaced by: the system_user resource
! Using helper ynh_system_user_delete is deprecated when using packaging v2 ... It is replaced by: the system_user resource
! Using helper ynh_webpath_register is deprecated when using packaging v2 ... It is replaced by: the permission resource
! Some inconsistencies were found in the 'yunohost service add' commands between install, upgrade and restore:
install :
yunohost service add $app --description=Earthstar run a server as service --log=/var/log/$app/$app.log
upgrade :
yunohost service add $app --description=Armadietto run a remotestorage server as service --log=/var/log/$app/$app.log
restore :
yunohost service add $app --description=Earthstar run a server as service --log=/var/log/$app/$app.log
- Web applications are not supposed to be installed in /opt/ ... They are supposed to be installed in /var/www/$app :/
N.B.: The package linter needs you to run 'pip3 install pyparsing six' if you want it to be able to check for path traversal issue in NGINX confs
! Configuration files
✘ The 'check_process' file that interfaces with the app CI has now been replaced with 'tests.toml' format and is now mandatory for apps v2.
Failed to parse apps.json/toml history for at commit cb071531e537a2842657dff0aab7fb48e916ff1c / 2022-04-01 00:00:00 ... ignoring
! Catalog infos
✘✘✘ This app is not in YunoHost's application catalog
- Consider adding your app to the YunoHost-Apps organization to allow the community to contribute more easily
=======
There are some critical issues in this app :(