johanbove / earthstarserver-ynh

WORK IN PROGRESS - This application lets you run and configure an Earthstar Server capable of syncing with other peers.
https://www.earthstar-project.org
GNU Lesser General Public License v3.0
2 stars 0 forks source link

Resolve linter reported issues #1

Closed johanbove closed 1 year ago

johanbove commented 1 year ago

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 :(
johanbove commented 1 year ago

Still open:

~/Yunohost/package_linter$ ./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
 ✔ scripts/_common.sh
 ✔ scripts/install
 ✔ scripts/remove
 ✔ scripts/upgrade
 ✔ scripts/backup
 ✔ scripts/restore
 ! 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.

    ! 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 
    - Web applications are not supposed to be installed in /opt/ ... They are supposed to be installed in /var/www/$app :/

 ! 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 6f7da33ce464de75e06d69acd31a24514a99efac / 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 :(