From 88087a88eafe8f23cd719c3b8a497f1660d36302 Mon Sep 17 00:00:00 2001 From: Cyrille SAVELIEF Date: Tue, 27 Jun 2023 20:44:55 +0200 Subject: [PATCH] Fixes YunoHost-Apps/jenkins_ynh#108 **Problem.** After the .deb file is installed, dpkg tries to start the service on the default port 8080. **Solution.** This fix ensure that ynh rollback won't be triggered by dpkg during installation of the .deb file. First, the `dpkg --install` error is silenced. Then `dpkg-query` is used to detect an improperly installed jenkins package. Next, after the port has been updated and the service restarted, `dpkg --configure -a` is executed to finish configuration of the partially installed jenkins package. --- scripts/install | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index cf2861e..36d336b 100644 --- a/scripts/install +++ b/scripts/install @@ -115,12 +115,17 @@ ynh_add_nginx_config ynh_script_progression --message="Installing Jenkins..." # Download jenkins deb file and install it. -dpkg --install --force-confnew ../conf/jenkins.deb +dpkg --install --force-confnew ../conf/jenkins.deb || true +dpkg_install_failed=$(dpkg-query -f '${status} ${package}\n' -W | awk '$4 ~ /^jenkins.*/ && $3 != "installed" {print $4}' | wc -l) + +if [[ $dpkg_install_failed -ge 1 ]]; then + ynh_print_warn --message="The service jenkins cannot be started for now." +fi #================================================= # SETUP APPLICATION #================================================= -ynh_script_progression --message="Setuping application..." +ynh_script_progression --message="Setuping application on port $port..." cat >> "$final_path/jenkins.install.InstallUtil.lastExecVersion" <