mirror of
https://github.com/YunoHost-Apps/calibreweb_ynh.git
synced 2024-09-03 18:16:20 +02:00
Init 0.9.6.10
This commit is contained in:
parent
adda84094d
commit
3083e97a2e
14 changed files with 79 additions and 124 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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": [
|
||||
|
|
18
pull_request_template.md
Normal file
18
pull_request_template.md
Normal file
|
@ -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*
|
||||
|
||||
[/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/calibreweb_ynh%20PR-NUM-%20(USERNAME)/)
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 @@
|
||||
</table>
|
||||
|
||||
<div class="hidden" id="update_error"> <span>{{update_error}}</span></div>
|
||||
- <div class="btn btn-default" id="check_for_update">{{_('Check for Update')}}</div>
|
||||
- <div class="btn btn-default hidden" id="perform_update" data-toggle="modal" data-target="#StatusDialog">{{_('Perform Update')}}</div>
|
||||
- <div class="btn btn-primary" id="check_for_update">{{_('Check for Update')}}</div>
|
||||
- <div class="btn btn-primary hidden" id="perform_update" data-toggle="modal" data-target="#StatusDialog">{{_('Perform Update')}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -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;
|
|
@ -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
|
||||
|
30
sources/patches/app-optional-requirements.txt.patch
Normal file
30
sources/patches/app-optional-requirements.txt.patch
Normal file
|
@ -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
|
|
@ -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')
|
||||
|
|
Loading…
Add table
Reference in a new issue