diff --git a/manifest.json b/manifest.json index fb65ab0..d5038b8 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Backup your server with restic.", "fr": "Sauvegardez votre serveur avec restic." }, - "version": "0.9.6~ynh3", + "version": "0.9.6~ynh4", "url": "https://restic.net/", "license": "BSD 2-Clause \"Simplified\" License", "maintainer": { diff --git a/scripts/_common.sh b/scripts/_common.sh index cdf3680..a4b60ba 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -28,11 +28,12 @@ install_restic () { exit 1 ;; esac - wget https://github.com/restic/restic/releases/download/v${RESTIC_VERSION}/restic_${RESTIC_VERSION}_linux_${arch}.bz2 -O /tmp/restic.bz2 - wget https://github.com/restic/restic/releases/download/v${RESTIC_VERSION}/SHA256SUMS -O /tmp/restic-sha256sums + wget https://github.com/restic/restic/releases/download/v${RESTIC_VERSION}/restic_${RESTIC_VERSION}_linux_${arch}.bz2 -O /tmp/restic.bz2 2>&1 >/dev/null + wget https://github.com/restic/restic/releases/download/v${RESTIC_VERSION}/SHA256SUMS -O /tmp/restic-sha256sums 2>&1 >/dev/null expected_sum=$(grep restic_${RESTIC_VERSION}_linux_${arch}.bz2 /tmp/restic-sha256sums | awk '{print $1}') sum=$(sha256sum /tmp/restic.bz2 | awk '{print $1}') if [ "$sum" == "$expected_sum" ];then + pkill restic || true bunzip2 /tmp/restic.bz2 -f -c > /usr/local/bin/restic chmod +x /usr/local/bin/restic else diff --git a/scripts/install b/scripts/install index c9fe5c8..b37ee06 100755 --- a/scripts/install +++ b/scripts/install @@ -33,29 +33,29 @@ ynh_save_args server port ssh_user backup_path passphrase on_calendar check_on_c #================================================= # INSTALL DEPENDENCIES #================================================= -ynh_print_info --message="Installing dependencies" +ynh_script_progression --message="Installing dependencies" --weight=7 ynh_install_app_dependencies $pkg_dependencies -ynh_print_info --message="Installing restic binary" +ynh_script_progression --message="Installing restic binary" --weight=4 install_restic #================================================= # ACTIVATE BACKUP METHODS #================================================= -ynh_print_info --message="Activating backup methods" +ynh_script_progression --message="Activating backup methods" mkdir -p /etc/yunohost/hooks.d/backup_method mkdir -p /usr/share/yunohost/backup_method #================================================= # SETUP THE BACKUP METHOD #================================================= -ynh_print_info --message="Setting up backup methods" +ynh_script_progression --message="Setting up backup methods" ynh_configure backup_method "/etc/yunohost/hooks.d/backup_method/05-${app}_app" ynh_configure check_method "${final_path}/check_method" #================================================= # CONFIGURE CRON #================================================= -ynh_print_info --message="Configuring cron" +ynh_script_progression --message="Configuring cron" --weight=5 ynh_configure backup-with-restic "/usr/local/bin/backup-with-${app}" ynh_configure backup-with-restic-answerbot "/usr/local/bin/backup-with-${app}-answerbot" ynh_configure check-restic "${final_path}/check-${app}" @@ -79,14 +79,14 @@ systemctl start ${app}_check_read_data.timer #================================================= # GENERATE SSH KEY #================================================= -ynh_print_info --message="Generating private key" +ynh_script_progression --message="Generating private key" private_key="/root/.ssh/id_${app}_ed25519" test -f $private_key || ssh-keygen -q -t ed25519 -N "" -f $private_key #================================================= # GENERATE SSH CONFIG #================================================= -ynh_print_info --message="Generating ssh config for ${server}" +ynh_script_progression --message="Generating ssh config for ${server}" grep -q "${server}" /root/.ssh/config 2>/dev/null || cat << EOCONF >> ~/.ssh/config Host ${server} Hostname ${server} @@ -101,14 +101,14 @@ EOCONF # Display key #================================================= -ynh_print_info --message="You should now allow the following public key for user ${ssh_user} on server ${server}: +ynh_script_progression --message="You should now allow the following public key for user ${ssh_user} on server ${server}: $(cat ${private_key}.pub)" #================================================= # SEND A README FOR THE ADMIN #================================================= -ynh_print_info --message="Sending post-installation instructions to admin" +ynh_script_progression --message="Sending post-installation instructions to admin" --last ynh_print_OFF message="You should now allow the following public key for user ${ssh_user} on server ${server}: $(cat ${private_key}.pub) diff --git a/scripts/remove b/scripts/remove index 109583d..c468024 100755 --- a/scripts/remove +++ b/scripts/remove @@ -14,15 +14,18 @@ source /usr/share/yunohost/helpers #================================================= app=$YNH_APP_INSTANCE_NAME +export final_path="/opt/yunohost/${app}" #================================================= # REMOVE DEPENDENCIES #================================================= +ynh_script_progression --message="Removing dependencies" --weight=4 ynh_remove_app_dependencies #================================================= # REMOVE FILES #================================================= +ynh_script_progression --message="Removing files" --weight=2 systemctl stop ${app}.timer systemctl disable ${app}.timer ynh_remove_systemd_config --service=${app} @@ -32,13 +35,13 @@ ynh_secure_remove "/etc/systemd/system/${app}.timer" ynh_secure_remove "/etc/systemd/system/${app}_check.timer" ynh_secure_remove "/etc/systemd/system/${app}_check_read_data.timer" ynh_secure_remove "/usr/local/bin/backup-with-${app}" -ynh_secure_remove "/usr/local/bin/check-${app}" -ynh_secure_remove "/usr/local/bin/check-read-data-${app}" ynh_secure_remove "/etc/yunohost/hooks.d/backup_method/05-${app}_app" -ynh_secure_remove "/etc/yunohost/hooks.d/backup_method/05-${app}_check_app" -ynh_secure_remove "/etc/yunohost/hooks.d/backup_method/05-${app}_check_read_data_app" +ynh_secure_remove "${final_path}/check_method" +ynh_secure_remove "${final_path}/check-${app}" +ynh_secure_remove "${final_path}" #================================================= # REMOVE SSH CONFIG #================================================= +ynh_script_progression --message="Removing ssh config" --last sed -e "/Host ${server}/,+6d" /root/.ssh/config -i || true