From db8e39baf5efd73efefe7718797f17b3d75ce0cc Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 8 Dec 2020 13:09:14 +0100 Subject: [PATCH 1/9] Fix linter warnings --- check_process | 5 ++--- manifest.json | 4 ++-- scripts/_common.sh | 2 +- scripts/install | 23 +++-------------------- scripts/restore | 5 +++-- scripts/upgrade | 17 +++++++---------- 6 files changed, 18 insertions(+), 38 deletions(-) diff --git a/check_process b/check_process index b991b3d..e662171 100644 --- a/check_process +++ b/check_process @@ -38,12 +38,11 @@ # setup_sub_dir=1 # setup_root=1 # upgrade=1 from_commit=3b9c5041e4fa73cb965368379f2b83d076c65341 -;;; Levels - Level 5=auto ;;; Options Email=nicolas@aubonalbanais.ovh Notification=none ;;; Upgrade options ; commit=11f5b96df7d8850beff47f9904745fa53a6f7ed9 name=Version 0.96.0~ynh4 - manifest_arg=domain=DOMAIN&path=PATH&admin=USER&password=pass&is_public=1& \ No newline at end of file + manifest_arg=domain=DOMAIN&path=PATH&admin=USER&password=pass&is_public=1& + \ No newline at end of file diff --git a/manifest.json b/manifest.json index 6b501c0..7d1b69d 100644 --- a/manifest.json +++ b/manifest.json @@ -8,13 +8,13 @@ }, "version": "0.96.9~ynh5", "url": "https://github.com/janeczku/calibre-web", - "license": "free", + "license": "GPL-3.0-only", "maintainer": { "name": "Krakinou", "email": "misterl56@hotmail.com" }, "requirements": { - "yunohost": ">= 3.7.1" + "yunohost": ">= 3.8.1" }, "multi_instance": true, "services": [ diff --git a/scripts/_common.sh b/scripts/_common.sh index c6b3b07..3e67c31 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -27,7 +27,7 @@ ynh_multimedia_build_main_dir () { local checksum="806a827ba1902d6911095602a9221181" # Download yunohost.multimedia scripts - wget -nv https://github.com/Yunohost-Apps/yunohost.multimedia/archive/${ynh_media_release}.tar.gz + wget -nv https://github.com/Yunohost-Apps/yunohost.multimedia/archive/${ynh_media_release}.tar.gz 2>&1 # Check the control sum echo "${checksum} ${ynh_media_release}.tar.gz" | md5sum -c --status \ diff --git a/scripts/install b/scripts/install index 8b96265..b807e14 100755 --- a/scripts/install +++ b/scripts/install @@ -6,6 +6,7 @@ # IMPORT GENERIC HELPERS #================================================= +source _common.sh source /usr/share/yunohost/helpers #================================================= @@ -27,8 +28,6 @@ if [ $is_public -eq 1 ]; then public_library=1 fi -source _common.sh - #================================================= # MANAGE SCRIPT FAILURE #================================================= @@ -36,7 +35,6 @@ source _common.sh # Exit if an error occurs during the execution of the script ynh_abort_if_errors - #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= @@ -45,9 +43,6 @@ ynh_script_progression --message="Validating installation parameters..." --weigh final_path=/var/www/$app test ! -e "$final_path" || ynh_die "This path already contains a folder" -# Normalize the url path syntax -path_url=$(ynh_normalize_url_path $path_url) - # Check web path availability ynh_webpath_available $domain $path_url # Register (book) web path @@ -63,7 +58,6 @@ ynh_app_setting_set $app path $path_url ynh_app_setting_set $app admin $admin ynh_app_setting_set $app is_public $is_public - #================================================= # STANDARD MODIFICATIONS #================================================= @@ -192,16 +186,6 @@ eval sqlite3 $final_path/app.db "$conf" conf="\"UPDATE user SET $(. <(echo -E echo $(<../conf/init_calibre_db_user))) WHERE ID=1\"" eval sqlite3 $final_path/app.db "$conf" -#================================================= -# SECURE FILES AND DIRECTORIES -#================================================= - -# Set permissions to app files -#disabled - do not work when calibreweb is not owner -#chown -R root: $final_path -#chown $app: $final_path/app.db - - #================================================= # STORE THE CHECKSUM OF THE CONFIG FILE #================================================= @@ -210,10 +194,10 @@ eval sqlite3 $final_path/app.db "$conf" ynh_store_file_checksum "${final_path}/app.db" #================================================= -# ADVERTISE SERVICE IN ADMIN PANEL +# INTEGRATE SERVICE IN YUNOHOST #================================================= -yunohost service add $app --description "Browse eBook in the web" --log "/var/log/$app/$app.log" +yunohost service add $app --description="Browse eBook in the web" --log="/var/log/$app/$app.log" #================================================= # SETUP SSOWAT @@ -230,7 +214,6 @@ if [ $public_library -eq 0 ]; then yunohost app addaccess $app -u $admin fi - #================================================= # RELOAD NGINX #================================================= diff --git a/scripts/restore b/scripts/restore index 70df492..8bd3aea 100755 --- a/scripts/restore +++ b/scripts/restore @@ -6,6 +6,7 @@ # IMPORT GENERIC HELPERS #================================================= +source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers #================================================= @@ -19,6 +20,7 @@ ynh_abort_if_errors # LOAD SETTINGS #================================================= ynh_script_progression --message="Loading settings..." --weight=1 + app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get $app domain) @@ -27,7 +29,6 @@ final_path=$(ynh_app_setting_get $app final_path) calibre_dir=$(ynh_app_setting_get $app calibre_dir) is_public=$(ynh_app_setting_get $app is_public) port=$(ynh_app_setting_get $app port) -source ../settings/scripts/_common.sh #================================================= # CHECK IF THE APP CAN BE RESTORED @@ -99,7 +100,7 @@ curl https://bootstrap.pypa.io/get-pip.py | python3 ynh_script_progression --message="Restoring the systemd configuration..." --weight=1 ynh_restore_file --origin_path="/etc/systemd/system/$app.service" -systemctl enable $app.service +systemctl enable $app.service --quiet #================================================= # INTEGRATE SERVICE IN YUNOHOST diff --git a/scripts/upgrade b/scripts/upgrade index fcf73ef..44a58c5 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -10,6 +10,7 @@ version_gt() { # IMPORT GENERIC HELPERS #================================================= +source _common.sh source /usr/share/yunohost/helpers #================================================= @@ -34,8 +35,6 @@ ynh_app_setting_set $app calibre_dir $calibre_dir upload=$(sqlite3 $final_path/app.db "SELECT config_uploading FROM settings WHERE ID=1") ynh_app_setting_set $app upload $upload -source _common.sh - #================================================= # CHECK VERSION #================================================= @@ -86,13 +85,6 @@ ynh_script_progression --message="Stopping a systemd service..." --weight=2 ynh_systemd_action --service_name=$app --action="stop" -#================================================= -# CHECK THE PATH -#================================================= - -# Normalize the URL path syntax -path_url=$(ynh_normalize_url_path $path_url) - #================================================= # STANDARD UPGRADE STEPS #================================================= @@ -224,6 +216,12 @@ ynh_add_systemd_config # Set permissions on app files chown -R $app: $final_path +#================================================= +# INTEGRATE SERVICE IN YUNOHOST +#================================================= + +yunohost service add $app --description="Browse eBook in the web" --log="/var/log/$app/$app.log" + #================================================= # SETUP SSOWAT #================================================= @@ -262,4 +260,3 @@ ynh_systemd_action --service_name=$app --action="start" -l "server on :$port" -t #================================================= ynh_script_progression --message="Upgrade of $app completed" --last - From 5f35a30f8007caf7eb33b4dc2a2d1891b3f1b976 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 8 Dec 2020 13:11:29 +0100 Subject: [PATCH 2/9] Update backup --- scripts/backup | 41 +++++++++-------------------------------- 1 file changed, 9 insertions(+), 32 deletions(-) diff --git a/scripts/backup b/scripts/backup index 78fea1e..75680d2 100755 --- a/scripts/backup +++ b/scripts/backup @@ -6,7 +6,7 @@ # IMPORT GENERIC HELPERS #================================================= - +source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers #================================================= @@ -19,7 +19,7 @@ ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." --weight=1 +ynh_print_info --message="Loading installation settings..." app=$YNH_APP_INSTANCE_NAME final_path=$(ynh_app_setting_get $app final_path) @@ -31,26 +31,17 @@ port=$(ynh_app_setting_get $app port) calibre_dir=$(sqlite3 $final_path/app.db "SELECT config_calibre_dir FROM settings WHERE ID=1") #Save it in settings so that it can be used back afterward calibre_dir=${calibre_dir%/} -ynh_app_setting_set $app calibre_dir $calibre_dir - -source ../settings/scripts/_common.sh - +ynh_app_setting_set $app calibre_dir $calibre_dir #================================================= -# STANDARD BACKUP STEPS +# DECLARE DATA AND CONF FILES TO BACKUP #================================================= -# STOP SYSTEMD SERVICE -#================================================= -ynh_script_progression --message="Stopping a systemd service..." --weight=1 -#Deactivate as per package linter -#ynh_systemd_action --service_name=$app --action="stop" - +ynh_print_info --message="Declaring files to be backed up..." #================================================= # BACKUP THE APP MAIN DIR #================================================= -ynh_script_progression --message="Backing up the main app directory..." --weight=1 #This will backup the app.db file at the same time ynh_backup --src_path="$final_path" @@ -58,44 +49,30 @@ ynh_backup --src_path="$final_path" # BACKUP THE NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Backing up nginx web server configuration..." --weight=1 - ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" - #================================================= # SPECIFIC BACKUP #================================================= # BACKUP LOGROTATE #================================================= -ynh_script_progression --message="Backing up logrotate configuration..." --weight=1 + ynh_backup --src_path="/etc/logrotate.d/$app" #================================================= # BACKUP SYSTEMD #================================================= -ynh_script_progression --message="Backing up systemd configuration..." --weight=1 -ynh_backup --src_path="/etc/systemd/system/$app.service" +ynh_backup --src_path="/etc/systemd/system/$app.service" #================================================= # BACKUP THE DATA DIRECTORY #================================================= -ynh_script_progression --message="Backing up data directory..." -ynh_print_info "Data directory will be backup up only if BACKUP_CORE_ONLY is unset" + ynh_backup --src_path="$calibre_dir" --is_big - -#================================================= -# START SYSTEMD SERVICE -#================================================= -#deactivate as per package_linter -#ynh_script_progression --message="Starting a systemd service..." --weight=5 -#ynh_systemd_action --service_name=$app --action="start" -l "server on :$port" -t 30 - - #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." --last \ No newline at end of file +ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." From 58da6726caa020d81e968be9cbc3d34514dd7282 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 8 Dec 2020 13:13:49 +0100 Subject: [PATCH 3/9] Add badges --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a088757..6713c25 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ - # Calibre-web for YunoHost -[![Integration level](https://dash.yunohost.org/integration/calibreweb.svg)](https://ci-apps.yunohost.org/jenkins/job/calibreweb%20%28Community%29/lastBuild/consoleFull) + +[![Integration level](https://dash.yunohost.org/integration/calibreweb.svg)](https://dash.yunohost.org/appci/app/calibreweb) ![](https://ci-apps.yunohost.org/ci/badges/calibreweb.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/calibreweb.maintain.svg) [![Install calibreweb with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=calibreweb) > *This package allow you to install calibreweb quickly and simply on a YunoHost server. @@ -68,8 +68,7 @@ chmod o+rw path/to/library --- -Developers info ----------------- +## Developers info Please do your pull request to the [testing branch](https://github.com/Yunohost-Apps/calibreweb_ynh/tree/testing). From 4927434f0730e57cff1166336c943d569c1a7e78 Mon Sep 17 00:00:00 2001 From: Krakinou Date: Tue, 5 Jan 2021 22:57:06 +0100 Subject: [PATCH 4/9] Remove unused var from _common.sh --- scripts/_common.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 3e67c31..9cd55c6 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -1,12 +1,8 @@ #!/bin/bash PKG_DEPENDENCIES="sqlite3 libldap2-dev libsasl2-dev python3-dev imagemagick python3-lxml libjpeg-dev" -#PKG_DEPENDENCIES="sqlite3 python3-pip imagemagick" DOSSIER_MEDIA=/home/yunohost.multimedia -LOG_FILE=/var/log/$app/$app.log -ACCESS_LOG_FILE=/var/log/$app/$app-access.log - #================================================= # EXPERIMENTAL HELPERS # TO BE DELETED WHEN RELEASED From 2875012a5f25fa8bed7c535c1479a8b02fb9d740 Mon Sep 17 00:00:00 2001 From: Krakinou Date: Tue, 5 Jan 2021 22:58:06 +0100 Subject: [PATCH 5/9] clean remove script --- scripts/remove | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/remove b/scripts/remove index 33e2e6b..d3c1e5a 100755 --- a/scripts/remove +++ b/scripts/remove @@ -6,7 +6,7 @@ # IMPORT GENERIC HELPERS #================================================= - +source _common.sh source /usr/share/yunohost/helpers #================================================= @@ -20,7 +20,6 @@ port=$(ynh_app_setting_get $app port) final_path=$(ynh_app_setting_get $app final_path) calibre_dir=$(ynh_app_setting_get $app calibre_dir) -source _common.sh #================================================= # REMOVE SERVICE FROM ADMIN PANEL From adda84094db605a3559333ed20e4e924a2629176 Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 9 Jan 2021 15:00:41 +0100 Subject: [PATCH 6/9] Restore _common.sh var and set some comments --- scripts/_common.sh | 3 +++ scripts/change_url | 3 +++ scripts/install | 7 ++++++- scripts/restore | 5 ++++- scripts/upgrade | 4 ++++ 5 files changed, 20 insertions(+), 2 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 9cd55c6..d717f42 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -3,6 +3,9 @@ PKG_DEPENDENCIES="sqlite3 libldap2-dev libsasl2-dev python3-dev imagemagick python3-lxml libjpeg-dev" DOSSIER_MEDIA=/home/yunohost.multimedia +#These var are used in init_calibre_db_settings conf file +LOG_FILE=/var/log/$app/$app.log +ACCESS_LOG_FILE=/var/log/$app/$app-access.log #================================================= # EXPERIMENTAL HELPERS # TO BE DELETED WHEN RELEASED diff --git a/scripts/change_url b/scripts/change_url index cbed4c2..44657d9 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -26,6 +26,9 @@ ynh_script_progression --message="Loading installation settings..." --weight=1 # Needed for helper "ynh_add_nginx_config" final_path=$(ynh_app_setting_get $app final_path) port=$(ynh_app_setting_get $app port) + +#Source common.sh required to be after var initialization as some variables are updated in it that are then used in the script +#when initializing the conf file of the app source _common.sh #================================================= diff --git a/scripts/install b/scripts/install index b807e14..cc3d20f 100755 --- a/scripts/install +++ b/scripts/install @@ -6,7 +6,7 @@ # IMPORT GENERIC HELPERS #================================================= -source _common.sh + source /usr/share/yunohost/helpers #================================================= @@ -23,6 +23,11 @@ language=$YNH_APP_ARG_LANGUAGE upload=$YNH_APP_ARG_UPLOAD public_library=$YNH_APP_ARG_PUBLIC_LIBRARY +#Source common.sh required to be after var initialization as some variables are updated in it that are then used in the script +#when initializing the conf file of the app +source _common.sh + + #if app is public, we assume library is public if [ $is_public -eq 1 ]; then public_library=1 diff --git a/scripts/restore b/scripts/restore index 8bd3aea..bcb735f 100755 --- a/scripts/restore +++ b/scripts/restore @@ -6,7 +6,6 @@ # IMPORT GENERIC HELPERS #================================================= -source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers #================================================= @@ -30,6 +29,10 @@ calibre_dir=$(ynh_app_setting_get $app calibre_dir) is_public=$(ynh_app_setting_get $app is_public) port=$(ynh_app_setting_get $app port) +#Source common.sh required to be after var initialization as some variables are updated in it that are then used in the script +#when initializing the conf file of the app +source ../settings/scripts/_common.sh + #================================================= # CHECK IF THE APP CAN BE RESTORED #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 44a58c5..f5450dc 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -27,6 +27,10 @@ is_public=$(ynh_app_setting_get $app is_public) final_path=$(ynh_app_setting_get $app final_path) language=$(ynh_app_setting_get $app language) +#Source common.sh required to be after var initialization as some variables are updated in it that are then used in the script +#when initializing the conf file of the app +source _common.sh + #Get settings from database in case it has been changed in the app and save it in settings so that it can be used back afterward calibre_dir=$(sqlite3 $final_path/app.db "SELECT config_calibre_dir FROM settings WHERE ID=1") calibre_dir=${calibre_dir%/} From 67441379b422fc4100cd81ff5a56e1f698967de3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 9 Jan 2021 16:16:26 +0100 Subject: [PATCH 7/9] Set badge to SVG --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6713c25..e774620 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Calibre-web for YunoHost [![Integration level](https://dash.yunohost.org/integration/calibreweb.svg)](https://dash.yunohost.org/appci/app/calibreweb) ![](https://ci-apps.yunohost.org/ci/badges/calibreweb.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/calibreweb.maintain.svg) -[![Install calibreweb with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=calibreweb) +[![Install calibreweb with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=calibreweb) > *This package allow you to install calibreweb quickly and simply on a YunoHost server. If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* From 3083e97a2e1af4e9eaff042bbf3b26c67fc55ced Mon Sep 17 00:00:00 2001 From: Krakinou Date: Wed, 27 Jan 2021 22:27:27 +0100 Subject: [PATCH 8/9] Init 0.9.6.10 --- README.md | 3 +- check_process | 22 ++------- conf/app.src | 4 +- manifest.json | 4 +- pull_request_template.md | 18 +++++++ scripts/change_url | 2 +- scripts/install | 6 +-- scripts/restore | 4 +- scripts/upgrade | 4 +- sources/patches/app-admin.html.patch | 12 ++--- sources/patches/app-main.js.patch | 12 ----- .../patches/app-optional-requirements.patch | 34 ------------- .../app-optional-requirements.txt.patch | 30 ++++++++++++ sources/patches/app-web.py.patch | 48 +++---------------- 14 files changed, 79 insertions(+), 124 deletions(-) create mode 100644 pull_request_template.md delete mode 100644 sources/patches/app-main.js.patch delete mode 100644 sources/patches/app-optional-requirements.patch create mode 100644 sources/patches/app-optional-requirements.txt.patch diff --git a/README.md b/README.md index 6713c25..3b57e4c 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Calibre-Web is a web app providing a clean interface for browsing, reading and d Alternatively, you may use [COPS](https://github.com/YunoHost-Apps/cops_ynh) which also allows access to your Calibre Library, but in read-only mode. -**Shipped version:** The shipped version is 0.6.9, but as the numbering changed in the calibre-web app, it is numbered as 0.96.9 in yunohost. +**Shipped version:** The shipped version is 0.6.10 - Florence, but as the numbering changed in the calibre-web app, it is numbered as 0.96.10 in yunohost. Users will be synchronized with authorized Yunohost users (having the calibreweb.main authorization group) automatically. In case of issue you may force the sync in the app itself. @@ -91,6 +91,7 @@ sudo yunohost app upgrade calibreweb -u https://github.com/Yunohost-Apps/calibre - [ ] Add cronjob to reload database (for nextcloud integration) - [X] OPDS activation - [ ] Add config-panel option to trigger do_not_backup_data +- [ ] Add config-panel to manage max upload size - [ ] Add action to restart the server - [ ] Add action to synchronize users - [ ] Add action to deactivate LDAP et retrieve admin password diff --git a/check_process b/check_process index e662171..ce2bb9b 100644 --- a/check_process +++ b/check_process @@ -16,28 +16,14 @@ setup_private=1 setup_public=1 upgrade=1 - upgrade=1 from_commit=11f5b96df7d8850beff47f9904745fa53a6f7ed9 +#Last version + upgrade=1 from_commit=69b86b123ddb3b13e25f39df32bc17a872d67e5e +#v0.6.6 +# upgrade=1 from_commit=11f5b96df7d8850beff47f9904745fa53a6f7ed9 backup_restore=1 multi_instance=1 port_already_use=1 (8083) change_url=1 -#;; Failed upgrade -#Run to trigger an error during upgrade to check backup_restore -# ; pre-install -# touch /tmp/upgrade_error -# ; Manifest -# domain="domain.tld" (DOMAIN) -# path="/calibre" (PATH) -# calibre_path="/home/yunohost.app/calibreweb" -# admin="john" (USER) -# language="en" -# is_public=0 (PUBLIC|public=1|private=0) -# upload=1 -# password="a very long password" -# ; Checks -# setup_sub_dir=1 -# setup_root=1 -# upgrade=1 from_commit=3b9c5041e4fa73cb965368379f2b83d076c65341 ;;; Options Email=nicolas@aubonalbanais.ovh Notification=none diff --git a/conf/app.src b/conf/app.src index fbc1b41..1b2b20a 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,3 +1,3 @@ -SOURCE_URL=https://github.com/janeczku/calibre-web/releases/download/0.6.9/calibre-web-0.6.9.zip -SOURCE_SUM=e1e393e6f08f68d7aa11baf7a2f1d19b6e0ea83dadc52391470b7d1e6a3155b4 +SOURCE_URL=https://github.com/janeczku/calibre-web/releases/download/0.6.10/calibre-web-0.6.10.zip +SOURCE_SUM=ae19c1161c10e874be292e37412f367a62cbbba2d2806a35768bcc773152c788 SOURCE_FORMAT=zip \ No newline at end of file diff --git a/manifest.json b/manifest.json index 7d1b69d..79f795b 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Browsing, reading and downloading eBooks using a Calibre database", "fr": "Explorer, lire et télécharger des eBooks à partir d'une base de données Calibre" }, - "version": "0.96.9~ynh5", + "version": "0.96.10~ynh1", "url": "https://github.com/janeczku/calibre-web", "license": "GPL-3.0-only", "maintainer": { @@ -14,7 +14,7 @@ "email": "misterl56@hotmail.com" }, "requirements": { - "yunohost": ">= 3.8.1" + "yunohost": ">= 4.0.0" }, "multi_instance": true, "services": [ diff --git a/pull_request_template.md b/pull_request_template.md new file mode 100644 index 0000000..7d0417e --- /dev/null +++ b/pull_request_template.md @@ -0,0 +1,18 @@ +## Problem +- *Description of why you made this PR* + +## Solution +- *And how do you fix that problem* + +## PR Status +- [ ] Code finished. +- [ ] Tested with Package_check. +- [ ] Fix or enhancement tested. +- [ ] Upgrade from last version tested. +- [ ] Can be reviewed and tested. + +## Package_check results +--- +*If you have access to [App Continuous Integration for packagers](https://yunohost.org/#/packaging_apps_ci) you can provide a link to the package_check results like below, replacing '-NUM-' in this link by the PR number and USERNAME by your username on the ci-apps-dev. Or you provide a screenshot or a pastebin of the results* + +[![Build Status](https://ci-apps-dev.yunohost.org/jenkins/job/calibreweb_ynh%20PR-NUM-%20(USERNAME)/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/calibreweb_ynh%20PR-NUM-%20(USERNAME)/) diff --git a/scripts/change_url b/scripts/change_url index 44657d9..082ff29 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -123,7 +123,7 @@ fi #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=2 -ynh_systemd_action --service_name=$app --action="start" -l "server on :$port" -t 30 +ynh_systemd_action --service_name=$app --action="start" --line_match="Starting Gevent server on" -t 30 #================================================= # RELOAD NGINX diff --git a/scripts/install b/scripts/install index cc3d20f..0cd23a0 100755 --- a/scripts/install +++ b/scripts/install @@ -176,7 +176,7 @@ ynh_script_progression --message="Setting up database and settings..." --weight= #we need to start and stop the service so that initial app.db file is created and that we can set default data #If port 8083 is already in use (ex for second instance), then service start will fail, which is expected : so we do not want #to set $port on the line match. "server on" will be displayed in case the port is already in use and should be ok to spot the fact that the database is initialized. -ynh_systemd_action --service_name=$app --action="start" --line_match="server on " --log_path="$final_path/calibre-web.log" -t 30 +ynh_systemd_action --service_name=$app --action="start" --line_match="Starting Gevent server on" --log_path="$final_path/calibre-web.log" -t 30 #sleep required on low spec like raspberryPi sleep 2s #remove unwanted calibre-web.log @@ -216,7 +216,7 @@ then ynh_permission_update --permission "main" --add visitors fi if [ $public_library -eq 0 ]; then - yunohost app addaccess $app -u $admin + ynh_permission_update --permission "main" --add $admin fi #================================================= @@ -224,7 +224,7 @@ fi #================================================= ynh_script_progression --message="Reload nginx and start $app..." --weight=5 ynh_systemd_action --service_name=nginx --action=reload -ynh_systemd_action --service_name=$app --action="start" --line_match="server on :$port" -t 30 +ynh_systemd_action --service_name=$app --action="start" --line_match="Starting Gevent server on" -t 30 #================================================= # END OF SCRIPT diff --git a/scripts/restore b/scripts/restore index bcb735f..d88612c 100755 --- a/scripts/restore +++ b/scripts/restore @@ -109,7 +109,7 @@ systemctl enable $app.service --quiet # INTEGRATE SERVICE IN YUNOHOST #================================================= -yunohost service add $app --description "Browse eBook in the web" --log "/var/log/$app/$app.log" +yunohost service add $app --description="Browse eBook in the web" --log="/var/log/$app/$app.log" #================================================= # RESTORE THE LOGROTATE CONFIGURATION @@ -173,7 +173,7 @@ ynh_systemd_action --service_name=nginx --action=reload #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=2 -ynh_systemd_action --service_name=$app --action="start" -l "server on :$port" -t 30 +ynh_systemd_action --service_name=$app --action="start" --line_match="Starting Gevent server on" -t 30 #================================================= # END OF SCRIPT diff --git a/scripts/upgrade b/scripts/upgrade index f5450dc..3989ca1 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -180,7 +180,7 @@ ynh_backup_if_checksum_is_different "$final_path/app.db" if [ "$current_upstream_app_version" == '0.6.6' ]; then ynh_systemd_action --service_name=$app --action="start" --line_match="server on " --log_path="$final_path/calibre-web.log" -t 30 else - ynh_systemd_action --service_name=$app --action="start" --line_match="server on :$port" -t 30 + ynh_systemd_action --service_name=$app --action="start" --line_match="Starting Gevent server on" -t 30 fi #sleep required on low spec like raspberryPi sleep 2s @@ -257,7 +257,7 @@ ynh_systemd_action --service_name=nginx --action=reload #================================================= ynh_script_progression --message="Starting a systemd service..." --weight=2 -ynh_systemd_action --service_name=$app --action="start" -l "server on :$port" -t 30 +ynh_systemd_action --service_name=$app --action="start" --line_match="Starting Gevent server on" -t 30 #================================================= # END OF SCRIPT diff --git a/sources/patches/app-admin.html.patch b/sources/patches/app-admin.html.patch index 4a8f42b..4a82736 100644 --- a/sources/patches/app-admin.html.patch +++ b/sources/patches/app-admin.html.patch @@ -1,11 +1,11 @@ ---- a/cps/templates/admin.html 2020-04-18 11:48:34.000000000 +0200 -+++ b/cps/templates/admin.html 2020-04-18 18:21:39.272422475 +0200 -@@ -149,8 +149,6 @@ +--- a/cps/templates/admin.html 2021-01-18 22:29:30.797813487 +0100 ++++ b/cps/templates/admin.html 2021-01-18 22:30:02.369665368 +0100 +@@ -169,8 +169,6 @@ - + --
{{_('Check for Update')}}
-- +-
{{_('Check for Update')}}
+- diff --git a/sources/patches/app-main.js.patch b/sources/patches/app-main.js.patch deleted file mode 100644 index 909cd60..0000000 --- a/sources/patches/app-main.js.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/cps/static/js/main.js 2020-04-18 11:48:34.000000000 +0200 -+++ b/cps/static/js/main.js 2020-04-18 17:39:49.405631791 +0200 -@@ -308,7 +308,8 @@ - $.ajax({ - method:"get", - dataType: "json", -- url: path + "/../../import_ldap_users", -+ url: window.location.pathname + "/../../import_ldap_users", -+// url: path + "/../../import_ldap_users", - success: function success(data) { - $("#spinner2").hide(); - ResultText = data.text; diff --git a/sources/patches/app-optional-requirements.patch b/sources/patches/app-optional-requirements.patch deleted file mode 100644 index b2b1aad..0000000 --- a/sources/patches/app-optional-requirements.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/optional-requirements.txt 2020-09-27 07:15:03.000000000 +0200 -+++ b/optional-requirements.txt 2020-10-04 19:03:58.367531339 +0200 -@@ -1,17 +1,3 @@ --# GDrive Integration --google-api-python-client==1.7.11,<1.8.0 --gevent>=1.2.1,<20.6.0 --greenlet>=0.4.12,<0.5.0 --httplib2>=0.9.2,<0.18.0 --oauth2client>=4.0.0,<4.1.4 --uritemplate>=3.0.0,<3.1.0 --pyasn1-modules>=0.0.8,<0.3.0 --pyasn1>=0.1.9,<0.5.0 --PyDrive>=1.3.1,<1.4.0 --PyYAML>=3.12 --rsa==3.4.2,<4.1.0 --six>=1.10.0,<1.15.0 -- - # goodreads - goodreads>=0.3.2,<0.4.0 - python-Levenshtein>=0.12.0,<0.13.0 -@@ -20,12 +6,8 @@ - python-ldap>=3.0.0,<3.3.0 - Flask-SimpleLDAP>=1.4.0,<1.5.0 - --#oauth --Flask-Dance>=1.4.0,<3.1.0 --SQLAlchemy-Utils>=0.33.5,<0.37.0 -- - # extracting metadata --lxml>=3.8.0,<4.6.0 -+#lxml>=3.8.0,<4.6.0 - Pillow>=4.0.0,<7.2.0 - rarfile>=2.7 - diff --git a/sources/patches/app-optional-requirements.txt.patch b/sources/patches/app-optional-requirements.txt.patch new file mode 100644 index 0000000..328bf98 --- /dev/null +++ b/sources/patches/app-optional-requirements.txt.patch @@ -0,0 +1,30 @@ +--- ./source/optional-requirements.txt.ori 2021-01-18 22:32:21.629010296 +0100 ++++ ./source/optional-requirements.txt.new 2021-01-18 23:43:53.721141321 +0100 +@@ -1,16 +1,6 @@ + # GDrive Integration +-google-api-python-client>=1.7.11,<1.8.0 + gevent>=1.2.1,<20.6.0 + greenlet>=0.4.12,<0.4.17 +-httplib2>=0.9.2,<0.18.0 +-oauth2client>=4.0.0,<4.1.4 +-uritemplate>=3.0.0,<3.1.0 +-pyasn1-modules>=0.0.8,<0.3.0 +-pyasn1>=0.1.9,<0.5.0 +-PyDrive2>=1.3.1,<1.8.0 +-PyYAML>=3.12 +-rsa>=3.4.2,<4.1.0 +-six>=1.10.0,<1.15.0 + + # goodreads + goodreads>=0.3.2,<0.4.0 +@@ -20,10 +10,6 @@ + python-ldap>=3.0.0,<3.3.0 + Flask-SimpleLDAP>=1.4.0,<1.5.0 + +-#oauth +-Flask-Dance>=1.4.0,<3.1.0 +-SQLAlchemy-Utils>=0.33.5,<0.37.0 +- + # extracting metadata + lxml>=3.8.0,<4.6.0 + rarfile>=2.7 diff --git a/sources/patches/app-web.py.patch b/sources/patches/app-web.py.patch index 6860156..63ce2ba 100644 --- a/sources/patches/app-web.py.patch +++ b/sources/patches/app-web.py.patch @@ -1,52 +1,18 @@ ---- a/cps/web.py 2020-05-05 20:28:10.000000000 +0200 -+++ b/cps/web.py 2020-05-07 08:52:47.151920968 +0200 -@@ -294,7 +294,10 @@ - if not config.db_configured and request.endpoint not in ( - 'admin.basic_configuration', 'login') and '/static/' not in request.path: - return redirect(url_for('admin.basic_configuration')) -- -+#Début Modif Yunohost 1/4 - Create LDAP user at login -+ if config.config_login_type == constants.LOGIN_LDAP and services.ldap: -+ import_ldap_users() -+#Fin Modif Yunohost 1/4 - - @app.route('/import_ldap_users') - def import_ldap_users(): -@@ -326,7 +329,10 @@ - log.warning("Could Not Parse LDAP User: %s", user) - continue - if ub.session.query(ub.User).filter(ub.User.nickname == user.lower()).first(): -- log.warning("LDAP User: %s Already in Database", user) -+# Début Modif Yunohost 2/4 - deactivate warning for existing LDAP user (clog the log) -+# log.warning("LDAP User: %s Already in Database", user) -+ log.debug("LDAP User: %s Already in Database", user) -+#Fin Modif Yunohost 2/4 - continue - user_data = services.ldap.get_object_details(user=user, - group=None, -@@ -1274,6 +1280,10 @@ - if not config.db_configured: - log.debug(u"Redirect to initial configuration") - return redirect(url_for('admin.basic_configuration')) -+#Début Modif Yunohost 3/4 - Create LDAP user at Login -+ if config.config_login_type == constants.LOGIN_LDAP and services.ldap: -+ import_ldap_users() -+#Fin Modif Yunohost 3/4 - if current_user is not None and current_user.is_authenticated: - return redirect(url_for('web.index')) - if config.config_login_type == constants.LOGIN_LDAP and not services.ldap: -@@ -1348,7 +1358,13 @@ +--- a/cps/web.py 2021-01-17 16:28:28.000000000 +0100 ++++ b/cps/web.py 2021-01-18 22:43:37.597311098 +0100 +@@ -1394,7 +1394,14 @@ if feature_support['oauth'] and (config.config_login_type == 2 or config.config_login_type == 3): logout_oauth_user() log.debug(u"User logged out") - return redirect(url_for('web.login')) -+#Début Modif Yunohost 4/4 - Redirect to Yunohost at exit ++#Début Modif Yunohost 1/1 - Redirect to Yunohost at exit +# return redirect(url_for('web.login')) + if config.config_login_type == constants.LOGIN_LDAP and services.ldap: + return redirect(request.host_url) + else: + return redirect(url_for('web.login')) -+#Fin Modif Yunohost 4/4 ++#Fin Modif Yunohost 1/1 ++ + - @web.route('/remote/login') From 4680f4eb9566a58fa58ba8f14c4bb41af1a801fb Mon Sep 17 00:00:00 2001 From: Krakinou Date: Tue, 2 Feb 2021 20:47:05 +0100 Subject: [PATCH 9/9] Upgdate Nginx buffer size --- conf/nginx.conf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/conf/nginx.conf b/conf/nginx.conf index 51f712c..73b2aa6 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -4,6 +4,11 @@ location __PATH__ { if ($scheme = http) { rewrite ^ https://$server_name$request_uri? permanent; } + #Proxy buffering is required for Kobo sync on large library + proxy_busy_buffers_size 512k; + proxy_buffers 4 512k; + proxy_buffer_size 256k; + proxy_pass http://localhost:__PORT__; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host;