1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/guacamole_ynh.git synced 2024-09-03 19:16:03 +02:00

Merge branch 'testing' into orhtej2-patch-1

This commit is contained in:
eric_G 2024-08-06 10:25:32 +02:00 committed by GitHub
commit 55ca1ef8c6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 48 additions and 89 deletions

View file

@ -1,13 +1,13 @@
[Unit] [Unit]
Description=Apache Tomcat 9 Web Application Server Description=Apache Tomcat 9 Web Application Server
After=network.target After=network.target
RequiresMountsFor=/var/log/__APP__/tomcat __INSTALL_DIR__/var/lib/tomcat9 RequiresMountsFor=/var/log/__APP__/tomcat __INSTALL_DIR__/var/lib/__TOMCAT_VERSION__
[Service] [Service]
# Configuration # Configuration
Environment="CATALINA_HOME=/usr/share/tomcat9" Environment="CATALINA_HOME=/usr/share/__TOMCAT_VERSION__"
Environment="CATALINA_BASE=__INSTALL_DIR__/var/lib/tomcat9" Environment="CATALINA_BASE=__INSTALL_DIR__/var/lib/__TOMCAT_VERSION__"
Environment="CATALINA_TMPDIR=/tmp" Environment="CATALINA_TMPDIR=/tmp"
Environment="JAVA_OPTS=-Djava.awt.headless=true" Environment="JAVA_OPTS=-Djava.awt.headless=true"
Environment="GUACAMOLE_HOME=__INSTALL_DIR__/etc/guacamole" Environment="GUACAMOLE_HOME=__INSTALL_DIR__/etc/guacamole"
@ -15,13 +15,13 @@ Environment="GUACAMOLE_HOME=__INSTALL_DIR__/etc/guacamole"
# Lifecycle # Lifecycle
Type=simple Type=simple
ExecStartPre=+/usr/libexec/tomcat9/tomcat-update-policy.sh ExecStartPre=+/usr/libexec/__TOMCAT_VERSION__/tomcat-update-policy.sh
ExecStart=/bin/sh /usr/libexec/tomcat9/tomcat-start.sh > /var/log/__APP__/tomcat/tomcat.log 2>&1 ExecStart=/bin/sh /usr/libexec/__TOMCAT_VERSION__/tomcat-start.sh > /var/log/__APP__/tomcat/tomcat.log 2>&1
SuccessExitStatus=143 SuccessExitStatus=143
Restart=on-abort Restart=on-abort
# Logging # Logging
SyslogIdentifier=__APP__-tomcat9 SyslogIdentifier=__APP__-__TOMCAT_VERSION__
# Security # Security
User=__APP__-tomcat User=__APP__-tomcat
@ -29,11 +29,11 @@ Group=__APP__-tomcat
PrivateTmp=yes PrivateTmp=yes
AmbientCapabilities=CAP_NET_BIND_SERVICE AmbientCapabilities=CAP_NET_BIND_SERVICE
NoNewPrivileges=true NoNewPrivileges=true
CacheDirectory=__APP__-tomcat9 CacheDirectory=__APP__-__TOMCAT_VERSION__
CacheDirectoryMode=750 CacheDirectoryMode=750
ProtectSystem=strict ProtectSystem=strict
ReadWritePaths=__INSTALL_DIR__/etc/tomcat9/Catalina/ ReadWritePaths=__INSTALL_DIR__/etc/__TOMCAT_VERSION__/Catalina/
ReadWritePaths=__INSTALL_DIR__/var/lib/tomcat9/webapps/ ReadWritePaths=__INSTALL_DIR__/var/lib/__TOMCAT_VERSION__/webapps/
ReadWritePaths=/var/log/__APP__/tomcat/ ReadWritePaths=/var/log/__APP__/tomcat/
[Install] [Install]

View file

@ -42,8 +42,6 @@ ram.runtime = "50M"
type = "user" type = "user"
[install.init_main_permission] [install.init_main_permission]
help.en = "Not recommended"
help.fr = "Pas reccomandé"
type = "group" type = "group"
default = "all_users" default = "all_users"

View file

@ -14,25 +14,29 @@ function setup_sources {
ynh_setup_source --source_id="server" --dest_dir="$install_dir/.guacd-src" ynh_setup_source --source_id="server" --dest_dir="$install_dir/.guacd-src"
tomcat_guac_dir="$path" tomcat_guac_dir="$path"
if [ "$path" == "/" -o -z "$path" ]; then if [ "$path" == "/" ]; then
tomcat_guac_dir="ROOT" tomcat_guac_dir="ROOT"
fi fi
ynh_setup_source --source_id="tomcat9_deb" --dest_dir="$install_dir/downloads/tomcat9" mkdir -p $install_dir/downloads/$tomcat_version
pushd "$install_dir/downloads/tomcat9" || ynh_die pushd "$install_dir/downloads/$tomcat_version"
ar x "tomcat9.deb" "data.tar.xz" apt-get download $tomcat_version
# Gotta use eval such that the wildcard works zbgmpf
eval "mv tomcat*.deb tomcat.deb"
ar x "tomcat.deb" "data.tar.xz"
tar xJf data.tar.xz tar xJf data.tar.xz
popd || ynh_die popd
mkdir -p "$install_dir/etc" mkdir -p "$install_dir/etc"
cp -r "$install_dir/downloads/tomcat9/usr/share/tomcat9/etc" -T "$install_dir/etc/tomcat9/" cp -r "$install_dir/downloads/$tomcat_version/usr/share/$tomcat_version/etc" -T "$install_dir/etc/$tomcat_version/"
cp -r "$install_dir/downloads/tomcat9/etc/tomcat9/" -T "$install_dir/etc/tomcat9/" cp -r "$install_dir/downloads/$tomcat_version/etc/$tomcat_version/" -T "$install_dir/etc/$tomcat_version/"
ynh_setup_source --source_id="client" --dest_dir="$install_dir/downloads" ynh_setup_source --source_id="client" --dest_dir="$install_dir/downloads"
mkdir -p "$install_dir/var/lib/tomcat9/webapps" mkdir -p "$install_dir/var/lib/$tomcat_version/webapps"
mv "$install_dir/downloads/guacamole.war" "$install_dir/var/lib/tomcat9/webapps/$tomcat_guac_dir.war" mv "$install_dir/downloads/guacamole.war" "$install_dir/var/lib/$tomcat_version/webapps/$tomcat_guac_dir.war"
mkdir -p "$install_dir/etc/guacamole/extensions" mkdir -p "$install_dir/etc/guacamole/extensions"
guacamole_version="$(ynh_app_upstream_version)"
ynh_setup_source --source_id="auth-ldap" --dest_dir="$install_dir/downloads/auth-ldap" ynh_setup_source --source_id="auth-ldap" --dest_dir="$install_dir/downloads/auth-ldap"
mv "$install_dir/downloads/auth-ldap/guacamole-auth-ldap-$guacamole_version.jar" "$install_dir/etc/guacamole/extensions/guacamole-auth-ldap.jar" mv "$install_dir/downloads/auth-ldap/guacamole-auth-ldap-$guacamole_version.jar" "$install_dir/etc/guacamole/extensions/guacamole-auth-ldap.jar"
@ -55,19 +59,11 @@ function _set_permissions() {
setfacl -n -R -m "user:$app-guacd:rx" -m "default:user:$app-guacd:rx" "$install_dir" setfacl -n -R -m "user:$app-guacd:rx" -m "default:user:$app-guacd:rx" "$install_dir"
setfacl -n -R -m "user:$app-tomcat:rx" -m "default:user:$app-tomcat:rx" "$install_dir" setfacl -n -R -m "user:$app-tomcat:rx" -m "default:user:$app-tomcat:rx" "$install_dir"
# chown -R nobody:$app-tomcat "$install_dir/etc/tomcat9/" "$install_dir/etc/guacamole/" # chown -R nobody:$app-tomcat "$install_dir/etc/$tomcat_version/" "$install_dir/etc/guacamole/"
chown -R "$app-tomcat":"$app-tomcat" "$install_dir/var/lib/tomcat9/webapps" chown -R "$app-tomcat":"$app-tomcat" "$install_dir/var/lib/$tomcat_version/webapps"
setfacl -n -R -m "user:$app-guacd:-" -m "default:user:$app-guacd:-" \ setfacl -n -R -m "user:$app-guacd:-" -m "default:user:$app-guacd:-" \
"$install_dir/var/lib/tomcat9/" "$install_dir/etc/guacamole/" "$install_dir/etc/tomcat9/" "$install_dir/var/lib/$tomcat_version/" "$install_dir/etc/guacamole/" "$install_dir/etc/$tomcat_version/"
chown -R "$app-guacd:$app-guacd" "/var/log/$app/guacd/" chown -R "$app-guacd:$app-guacd" "/var/log/$app/guacd/"
chown -R "$app-tomcat:$app-tomcat" "/var/log/$app/tomcat/" chown -R "$app-tomcat:$app-tomcat" "/var/log/$app/tomcat/"
} }
#=================================================
# EXPERIMENTAL HELPERS
#=================================================
#=================================================
# FUTURE OFFICIAL HELPERS
#=================================================

View file

@ -44,7 +44,7 @@ if [ $change_path -eq 1 ]; then
new_path_tomcat="ROOT" new_path_tomcat="ROOT"
fi fi
mv "$install_dir/var/lib/tomcat9/webapps/$old_path_tomcat" "$install_dir/var/lib/tomcat9/webapps/$new_path_tomcat" mv "$install_dir/var/lib/$tomcat_version/webapps/$old_path_tomcat" "$install_dir/var/lib/$tomcat_version/webapps/$new_path_tomcat"
fi fi
#================================================= #=================================================

View file

@ -17,23 +17,11 @@ ynh_script_progression --message="Stopping system tomcat..." --weight=1
# Guacamole depends on Apache Tomcat. # Guacamole depends on Apache Tomcat.
# But installing Tomcat from the Debian repos automatically enables and starts it. # But installing Tomcat from the Debian repos automatically enables and starts it.
# So we stop and disable it, unless Tomcat was already enabled or started by the user beforehand # So we stop and disable it, unless Tomcat was already enabled or started by the user beforehand
if systemctl is-enabled $tomcat_version --quiet 2>/dev/null; then
tomcat_enabled="" systemctl disable $tomcat_version --quiet
tomcat_active=""
if [ "$(systemctl cat tomcat9 --quiet)" ]; then
if (systemctl is-enabled tomcat9 --quiet); then
tomcat_enabled=1
fi
if (systemctl is-active tomcat9 --quiet); then
tomcat_active=1
fi
fi fi
if systemctl is-active $tomcat_version --quiet 2>/dev/null; then
if [ $tomcat_enabled ]; then systemctl stop $tomcat_version --quiet
systemctl disable tomcat9 --quiet
fi
if [ $tomcat_active ]; then
systemctl stop tomcat9 --quiet
fi fi
#================================================= #=================================================
@ -55,9 +43,9 @@ setup_sources
mkdir -p "/var/log/$app/tomcat/" "/var/log/$app/guacd/" "/var/log/$app/tomcat/" mkdir -p "/var/log/$app/tomcat/" "/var/log/$app/guacd/" "/var/log/$app/tomcat/"
mkdir -p "$install_dir/etc/" mkdir -p "$install_dir/etc/"
ln -s -f "$install_dir/etc/tomcat9" "$install_dir/var/lib/tomcat9/conf" ln -s -f "$install_dir/etc/$tomcat_version" "$install_dir/var/lib/$tomcat_version/conf"
ln -s -f "/var/log/$app/tomcat/" "$install_dir/var/lib/tomcat9/logs" ln -s -f "/var/log/$app/tomcat/" "$install_dir/var/lib/$tomcat_version/logs"
ln -s -f "/var/cache/$app-tomcat9" "$install_dir/var/lib/tomcat9/work" ln -s -f "/var/cache/$app-$tomcat_version" "$install_dir/var/lib/$tomcat_version/work"
#================================================= #=================================================
# ADD CONFIGURATIONS # ADD CONFIGURATIONS
@ -65,7 +53,7 @@ ln -s -f "/var/cache/$app-tomcat9" "$install_dir/var/lib/tomcat9/work"
ynh_add_config --template="guacamole.properties" --destination="$install_dir/etc/guacamole/guacamole.properties" ynh_add_config --template="guacamole.properties" --destination="$install_dir/etc/guacamole/guacamole.properties"
ynh_replace_string --match_string="8080" --replace_string="$port" --target_file="$install_dir/etc/tomcat9/server.xml" ynh_replace_string --match_string="8080" --replace_string="$port" --target_file="$install_dir/etc/$tomcat_version/server.xml"
_set_permissions _set_permissions

View file

@ -15,22 +15,11 @@ source /usr/share/yunohost/helpers
#================================================= #=================================================
ynh_script_progression --message="Stopping system tomcat..." --weight=1 ynh_script_progression --message="Stopping system tomcat..." --weight=1
tomcat_enabled="" if systemctl is-enabled $tomcat_version --quiet 2>/dev/null; then
tomcat_active="" systemctl disable $tomcat_version --quiet
if [ "$(systemctl cat tomcat9 --quiet)" ]; then
if (systemctl is-enabled tomcat9 --quiet); then
tomcat_enabled=1
fi
if (systemctl is-active tomcat9 --quiet); then
tomcat_active=1
fi
fi fi
if systemctl is-active $tomcat_version --quiet 2>/dev/null; then
if [ ! $tomcat_enabled ]; then systemctl stop $tomcat_version --quiet
systemctl disable tomcat9 --quiet
fi
if [ ! $tomcat_active ]; then
systemctl stop tomcat9 --quiet
fi fi
#================================================= #=================================================

View file

@ -62,23 +62,11 @@ ynh_script_progression --message="Upgrading dependencies..." --weight=1
# Guacamole depends on Apache Tomcat. # Guacamole depends on Apache Tomcat.
# But installing Tomcat from the Debian repos automatically enables and starts it. # But installing Tomcat from the Debian repos automatically enables and starts it.
# So we stop and disable it, unless Tomcat was already enabled or started by the user beforehand # So we stop and disable it, unless Tomcat was already enabled or started by the user beforehand
if systemctl is-enabled $tomcat_version --quiet 2>/dev/null; then
tomcat_enabled="" systemctl disable $tomcat_version --quiet
tomcat_active=""
if [ "$(systemctl cat tomcat9 --quiet)" ]; then
if (systemctl is-enabled tomcat9 --quiet); then
tomcat_enabled=1
fi
if (systemctl is-active tomcat9 --quiet); then
tomcat_active=1
fi
fi fi
if systemctl is-active $tomcat_version --quiet 2>/dev/null; then
if [ ! $tomcat_enabled ]; then systemctl stop $tomcat_version --quiet
systemctl disable tomcat9 --quiet
fi
if [ ! $tomcat_active ]; then
systemctl stop tomcat9 --quiet
fi fi
#================================================= #=================================================
@ -99,9 +87,9 @@ popd
#================================================= #=================================================
mkdir -p "$install_dir/etc/" mkdir -p "$install_dir/etc/"
ln -s -f "$install_dir/etc/tomcat9" "$install_dir/var/lib/tomcat9/conf" ln -s -f "$install_dir/etc/$tomcat_version" "$install_dir/var/lib/$tomcat_version/conf"
ln -s -f "/var/log/$app/tomcat/" "$install_dir/var/lib/tomcat9/logs" ln -s -f "/var/log/$app/tomcat/" "$install_dir/var/lib/$tomcat_version/logs"
ln -s -f "/var/cache/$app-tomcat9" "$install_dir/var/lib/tomcat9/work" ln -s -f "/var/cache/$app-$tomcat_version" "$install_dir/var/lib/$tomcat_version/work"
#================================================= #=================================================
# CREATE LOG DIRS # CREATE LOG DIRS
@ -115,7 +103,7 @@ mkdir -p "/var/log/$app/tomcat/" "/var/log/$app/guacd/" "/var/log/$app/tomcat/"
ynh_add_config --template="guacamole.properties" --destination="$install_dir/etc/guacamole/guacamole.properties" ynh_add_config --template="guacamole.properties" --destination="$install_dir/etc/guacamole/guacamole.properties"
ynh_replace_string --match_string="8080" --replace_string="$port" --target_file="$install_dir/etc/tomcat9/server.xml" ynh_replace_string --match_string="8080" --replace_string="$port" --target_file="$install_dir/etc/$tomcat_version/server.xml"
#================================================= #=================================================
# SETUP SYSTEMD # SETUP SYSTEMD