1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/etherpad_mypads_ynh.git synced 2024-09-03 18:36:09 +02:00

Upgrade to 1.8.11

This commit is contained in:
ericgaspar 2021-02-27 23:36:58 +01:00
parent 578e2fcd05
commit 5d01b660d2
No known key found for this signature in database
GPG key ID: 574F281483054D44
11 changed files with 69 additions and 114 deletions

View file

@ -12,7 +12,7 @@ If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to
Etherpad is a highly customizable Open Source online editor providing collaborative editing in really real-time.
This package will install the same plugins than [Framapad](https://framapad.org/).
**Shipped version:** 1.8.7
**Shipped version:** 1.8.11
## Screenshots

View file

@ -12,7 +12,7 @@ Si vous n'avez pas YunoHost, merci de regarder [ici](https://yunohost.org/#/inst
Etherpad est un éditeur en ligne Open Source hautement personnalisable qui permet l'édition collaborative en temps réel.
Ce paquet installera les mêmes plugins que [Framapad](https://framapad.org/).
**Version embarquée :** 1.8.7
**Version embarquée :** 1.8.11
## Captures d'écran

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/ether/etherpad-lite/archive/1.8.7.tar.gz
SOURCE_SUM=39212e8b2ab025643367664238279ba189104ddadf8f18db8feb02ceda538867
SOURCE_URL=https://github.com/ether/etherpad-lite/archive/1.8.11.tar.gz
SOURCE_SUM=b9b9916d8e1b1ebe6dac5ebc0f24fa1ea064ddfd1307919bef2b58d7a8d5339c
SOURCE_SUM_PRG=sha256sum
ARCH_FORMAT=tar.gz
SOURCE_IN_SUBDIR=true

View file

@ -44,7 +44,7 @@
"__ADMIN__": {
// 1) "password" can be replaced with "hash" if you install ep_hash_auth
// 2) please note that if password is null, the user will not be created
"password": "__PASSWD__",
"password": "__PASSWORD__",
"is_admin": true
}
},

View file

@ -5,8 +5,8 @@ location __PATH__/ {
rewrite ^ https://$server_name$request_uri? permanent;
}
#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent;
#sub_path_only rewrite ^__PATH__/admin$ __PATH__/admin/ permanent;
#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent;
#sub_path_only rewrite ^__PATH__/admin$ __PATH__/admin/ permanent;
proxy_pass http://127.0.0.1:__PORT__/;
proxy_set_header Host $host;
proxy_buffering off;

View file

@ -1,14 +1,15 @@
[Unit]
Description=Etherpad-lite, the collaborative editor.
Description=Etherpad-lite, collaborative editing of documents in real-time.
After=syslog.target network.target
[Service]
Type=simple
User=__APP__
Group=__APP__
Environment="PATH=__ENV_PATH__"
Environment=NODE_ENV=production
ExecStart=__FINALPATH__/bin/safeRun.sh /var/log/__APP__/etherpad.log
WorkingDirectory=__FINALPATH__
Environment="NODE_ENV=production"
Environment="__YNH_NODE_LOAD_PATH__"
ExecStart=__FINALPATH__/node_modules/ep_etherpad-lite/node/server.js
Restart=always
[Install]

View file

@ -6,7 +6,7 @@
"en": "Online editor providing collaborative editing in real-time.",
"fr": "Éditeur en ligne fournissant l'édition collaborative en temps réel."
},
"version": "1.8.7~ynh1",
"version": "1.8.11~ynh1",
"url": "https://framapad.org",
"license": "Apache-2.0",
"maintainer": {
@ -18,7 +18,7 @@
"email": "maniackc_dev@crudelis.fr"
}],
"requirements": {
"yunohost": ">= 3.8.1"
"yunohost": ">= 4.1.0"
},
"multi_instance": true,
"services": [

View file

@ -11,13 +11,6 @@
- [ ] Upgrade from last version tested.
- [ ] Can be reviewed and tested.
## Validation
## Package_check results
---
*Minor decision*
- [ ] **Code review** :
- [ ] **Approval (LGTM)** :
*Code review and approval have to be from a member of @YunoHost-Apps/apps-group*
- **CI succeeded** :
[![Build Status](https://ci-apps-hq.yunohost.org/jenkins/job/etherpad_mypads_ynh%20PR-NUM-/badge/icon)](https://ci-apps-hq.yunohost.org/jenkins/job/etherpad_mypads_ynh%20PR-NUM-/)
*Please replace '-NUM-' in this link by the PR number.*
When the PR is marked as ready to merge, you have to wait for 3 days before really merging it.
* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"*

View file

@ -7,23 +7,24 @@ abiword_app_depencencies="abiword"
libreoffice_app_dependencies="unoconv libreoffice-writer"
# NodeJS version
nodejs_version=12
nodejs_version=14
# MyPads version
# This variable is mostly used to force an upgrade of the package in case of new versions of MyPads.
mypads_version=1.7.18
mypads_version=1.7.19
# Plugin versions
ep_align_version=0.3.14
ep_author_hover_version=0.3.10
ep_align_version=0.3.31
ep_author_hover_version=0.3.17
ep_automatic_logut_version=1.0.8
ep_comments_page_version=0.1.46
ep_comments_page_version=0.1.51
ep_countable_version=0.0.8
ep_delete_empty_pads_version=0.0.6
ep_font_color_version=0.0.30
ep_font_size_version=0.4.8
ep_headings2_version=0.2.11
ep_markdown_version=0.1.16
ep_font_color_version=0.0.38
ep_font_size_version=0.4.18
ep_headings2_version=0.2.24
ep_markdown_version=0.1.30
ep_page_view_version=0.5.26
ep_spellcheck_version=0.0.18
ep_subscript_and_superscript_version=0.2.11
ep_table_of_contents_version=0.3.8
ep_spellcheck_version=0.0.25
ep_subscript_and_superscript_version=0.2.21
ep_table_of_contents_version=0.3.17

View file

@ -65,7 +65,6 @@ ynh_script_progression --message="Storing installation settings..." --weight=3
ynh_app_setting_set --app=$app --key=domain --value=$domain
ynh_app_setting_set --app=$app --key=path --value=$path_url
ynh_app_setting_set --app=$app --key=admin --value=$admin
ynh_app_setting_set --app=$app --key=is_public --value=$is_public
ynh_print_OFF; ynh_app_setting_set --app=$app --key=password --value=$password; ynh_print_ON
ynh_app_setting_set --app=$app --key=language --value=$language
ynh_app_setting_set --app=$app --key=export --value=$export
@ -161,17 +160,12 @@ ynh_use_logrotate --specific_user=$app/$app
#=================================================
ynh_script_progression --message="Installing Etherpad..." --weight=90
# Install dependencies and proceed to the installation
ynh_use_nodejs
(
cd "$final_path"
mkdir -p node_modules
cd node_modules
[ -e ep_etherpad-lite ] || ln -s ../src ep_etherpad-lite
cd ep_etherpad-lite
chown -R $app: $final_path
ynh_exec_as $app PATH="$nodejs_path:$PATH" "$nodejs_path/npm" install --save --loglevel warn
)
chown -R $app: $final_path
pushd $final_path
ynh_use_nodejs
ynh_exec_as $app env "$ynh_node_load_PATH" bin/installDeps.sh
popd
#=================================================
# CONFIGURE ETHERPAD
@ -184,7 +178,7 @@ ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_f
ynh_replace_string --match_string="__DB_USER__" --replace_string="$db_name" --target_file="$final_path/credentials.json"
ynh_replace_string --match_string="__DB_PWD__" --replace_string="$db_pwd" --target_file="$final_path/credentials.json"
ynh_replace_string --match_string="__ADMIN__" --replace_string="$admin" --target_file="$final_path/credentials.json"
ynh_print_OFF; ynh_replace_special_string --match_string="__PASSWD__" --replace_string="$password" --target_file="$final_path/credentials.json"; ynh_print_ON
ynh_print_OFF; ynh_replace_special_string --match_string="__PASSWORD__" --replace_string="$password" --target_file="$final_path/credentials.json"; ynh_print_ON
if [ "$export" = "abiword" ]
then
# Get abiword binary path
@ -225,9 +219,7 @@ chmod 600 $final_path/credentials.json
#=================================================
ynh_script_progression --message="Configuring a systemd service..." --weight=4
ynh_replace_string --match_string="__ENV_PATH__" --replace_string="$PATH" --target_file="../conf/systemd.service"
# Create a dedicated systemd config
ynh_add_systemd_config
ynh_add_systemd_config --others_var="ynh_node_load_PATH"
#=================================================
# ADVERTISE SERVICE IN ADMIN PANEL
@ -250,7 +242,7 @@ npm install ep_automatic_logut@${ep_automatic_logut_version} >> $install_log 2>&
# Framapad - Adds comments on sidebar and link it to the text.
npm install ep_comments_page@${ep_comments_page_version} >> $install_log 2>&1
# Framapad - Displays paragraphs, sentences, words and characters counts.
#npm install ep_countable@${ep_countable_version} >> $install_log 2>&1
npm install ep_countable@${ep_countable_version} >> $install_log 2>&1
# Framapad - Delete pads which were never edited
npm install ep_delete_empty_pads@${ep_delete_empty_pads_version} >> $install_log 2>&1
# Framapad - Apply colors to fonts
@ -306,15 +298,15 @@ ynh_add_fail2ban_config --logpath="/var/log/nginx/$domain-access.log" --failrege
#=================================================
# SETUP SSOWAT
#=================================================
ynh_script_progression --message="Configuring SSOwat..."
ynh_script_progression --message="Configuring permissions..."
if [ $is_public -eq 1 ]; then
ynh_app_setting_set --app=$app --key=skipped_uris --value="/"
else
# Etherpad admin page doesn't support SSO...
ynh_app_setting_set --app=$app --key=skipped_uris --value="/admin"
ynh_permission_update --permission="main" --add="visitors"
fi
# Etherpad admin page doesn't support SSO...
ynh_permission_create --permission="admin" --url="/admin" --allowed=$admin
#=================================================
# RELOAD NGINX
#=================================================

View file

@ -23,11 +23,11 @@ domain=$(ynh_app_setting_get --app=$app --key=domain)
path_url=$(ynh_app_setting_get --app=$app --key=path)
admin=$(ynh_app_setting_get --app=$app --key=admin)
language=$(ynh_app_setting_get --app=$app --key=language)
is_public=$(ynh_app_setting_get --app=$app --key=is_public)
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
port=$(ynh_app_setting_get --app=$app --key=port)
export=$(ynh_app_setting_get --app=$app --key=export)
db_name=$(ynh_app_setting_get --app=$app --key=db_name)
db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd)
mypads=$(ynh_app_setting_get --app=$app --key=mypads)
useldap=$(ynh_app_setting_get --app=$app --key=useldap)
overwrite_settings=$(ynh_app_setting_get --app=$app --key=overwrite_settings)
@ -135,6 +135,18 @@ if [ -z "$overwrite_systemd" ]; then
ynh_app_setting_set $app overwrite_systemd $overwrite_systemd
fi
# Cleaning legacy permissions
if ynh_legacy_permissions_exists; then
ynh_legacy_permissions_delete_all
ynh_app_setting_delete --app=$app --key=is_public
fi
if ! ynh_permission_exists --permission="admin"; then
# Create the required permissions
ynh_permission_create --permission="admin" --url="/admin" --allowed=$admin
fi
#=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
#=================================================
@ -207,13 +219,6 @@ fi
#=================================================
ynh_script_progression --message="Upgrading NodeJS..." --weight=4
# Remove the old nvm helper.
if [ -d /opt/nvm ]
then
ynh_secure_remove --file="/opt/nvm"
sed --in-place "/NVM_DIR/d" /root/.bashrc
fi
ynh_install_nodejs --nodejs_version=$nodejs_version
#=================================================
@ -221,36 +226,14 @@ ynh_install_nodejs --nodejs_version=$nodejs_version
#=================================================
ynh_script_progression --message="Upgrading Etherpad npm modules..." --weight=60
# Update the main modules of etherpad
chown -R $app: $final_path
(cd "$final_path/src"
ynh_exec_warn_less npm cache clean --force
# Remove package-lock.json to prevent any shit during npm update...
#ynh_secure_remove --file="$final_path/src/package-lock.json"
ynh_exec_warn_less ynh_exec_as $app PATH="$nodejs_path:$PATH" "$nodejs_path/npm" update)
# Then update the additionnal modules
(cd "$final_path"
ynh_exec_warn_less npm cache clean --force
while read node_module
do
# Ignore ep_etherpad-lite, this part is updated before in this script.
if [ "$node_module" = "ep_etherpad-lite" ]; then
continue
fi
echo "Update $node_module"
# Build the name of the variable with the version.
module_version=${node_module}_version
# Get the content of the variable (from the file _variables)
module_version=${!module_version:-}
# If the module has no version stored in a variable into the file, keep it empty.
# That way, the upgrade will not be specific to a version.
## Otherwise, add @ before the version number to force the upgrade to this version.
if [ -n "${module_version}" ]; then
module_version=@${module_version}
fi
ynh_exec_warn_less ynh_exec_as $app PATH="$nodejs_path:$PATH" "$nodejs_path/npm" install --upgrade ${node_module}${module_version} || true
done <<< "$(ls -1 "$final_path/node_modules" | grep "^ep_")")
pushd $final_path
ynh_use_nodejs
ynh_exec_as $app env "$ynh_node_load_PATH" bin/installDeps.sh
ynh_exec_warn_less ynh_exec_as $app env "$ynh_node_load_PATH" npm cache clean --force
ynh_exec_warn_less ynh_exec_as $app env "$ynh_node_load_PATH" npm install --upgrade
popd
#=================================================
# SPECIFIC UPGRADE
@ -291,7 +274,7 @@ then
fi
ynh_replace_string --match_string="__LANGUAGE__" --replace_string="$language" --target_file="$final_path/settings.json"
# Use ldap for mypads
# Use LDAP for MyPads
if [ $mypads -eq 1 ] && [ $useldap -eq 1 ]
then
ynh_replace_string --match_string="//noldap" --replace_string="" --target_file="$final_path/settings.json"
@ -329,11 +312,10 @@ then
cp ../conf/credentials.json "$final_path/credentials.json"
ynh_replace_string --match_string="__DB_USER__" --replace_string="$app" --target_file="$final_path/credentials.json"
db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd)
ynh_print_OFF; password=$(ynh_app_setting_get --app=$app --key=password); ynh_print_ON
ynh_replace_string --match_string="__DB_PWD__" --replace_string="$db_pwd" --target_file="$final_path/credentials.json"
ynh_replace_string --match_string="__ADMIN__" --replace_string="$admin" --target_file="$final_path/credentials.json"
ynh_print_OFF; ynh_replace_special_string --match_string="__PASSWD__" --replace_string="$password" --target_file="$final_path/credentials.json"; ynh_print_ON
ynh_print_OFF; ynh_replace_special_string --match_string="__PASSWORD__" --replace_string="$password" --target_file="$final_path/credentials.json"; ynh_print_ON
# Recalculate and store the checksum of the file for the next upgrade.
ynh_store_file_checksum --file="$final_path/credentials.json"
@ -388,8 +370,7 @@ ynh_script_progression --message="Upgrading systemd configuration..." --weight=2
# Overwrite the systemd configuration only if it's allowed
if [ $overwrite_systemd -eq 1 ]
then
ynh_replace_string --match_string="__ENV_PATH__" --replace_string="$PATH" --target_file="../conf/systemd.service"
ynh_add_systemd_config
ynh_add_systemd_config --others_var="ynh_node_load_PATH"
fi
#=================================================
@ -404,19 +385,6 @@ then
sed -i "$mod_line s@div>@&\n\t<center><br><font size="5"><a href="./mypads/">Mypads</a></font></center>@" $final_path/src/templates/index.html
fi
#=================================================
# SETUP SSOWAT
#=================================================
ynh_script_progression --message="Upgrading SSOwat configuration..."
# Make app public if necessary
if [ $is_public -eq 1 ]; then
ynh_app_setting_set --app=$app --key=skipped_uris --value="/"
else
# etherpad admin page doesn't support SSO...
ynh_app_setting_set --app=$app --key=skipped_uris --value="/admin"
fi
#=================================================
# RELOAD NGINX
#=================================================