git: d9d158c21913 - main - devel/jenkins{,-lts}: Fix rc script output handling
Li-Wen Hsu <[email protected]> Thu, 06 Aug 2026 01:30:24 +0000
| Newsgroups | gmane.os.freebsd.devel.cvs.ports |
|---|---|
| Message-ID | <[email protected]> |
The branch main has been updated by lwhsu: URL: https://cgit.FreeBSD.org/ports/commit/?id=d9d158c2191330894d27f12a48fe8808c56ccda5 commit d9d158c2191330894d27f12a48fe8808c56ccda5 Author: Li-Wen Hsu <[email protected]> AuthorDate: 2026-08-06 01:30:17 +0000 Commit: Li-Wen Hsu <[email protected]> CommitDate: 2026-08-06 01:30:17 +0000 devel/jenkins{,-lts}: Fix rc script output handling - Add -f to daemon(8) so the service does not keep the caller's terminal or pipe open. Before this, `service jenkins restart | tail` hung forever. - Let rc.subr handle the user switch instead of a custom start_cmd. Sponsored by: The FreeBSD Foundation --- devel/jenkins-lts/Makefile | 1 + devel/jenkins-lts/files/jenkins.in | 14 ++++++-------- devel/jenkins/Makefile | 1 + devel/jenkins/files/jenkins.in | 14 ++++++-------- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/devel/jenkins-lts/Makefile b/devel/jenkins-lts/Makefile index fbba82037b01..3bef58166d36 100644 --- a/devel/jenkins-lts/Makefile +++ b/devel/jenkins-lts/Makefile @@ -1,5 +1,6 @@ PORTNAME= jenkins PORTVERSION= 2.568.2 +PORTREVISION= 1 CATEGORIES= devel java MASTER_SITES= https://get.jenkins.io/war-stable/${PORTVERSION}/ PKGNAMESUFFIX= -lts diff --git a/devel/jenkins-lts/files/jenkins.in b/devel/jenkins-lts/files/jenkins.in index 52dcaf5274c5..5ef3927bbbf3 100644 --- a/devel/jenkins-lts/files/jenkins.in +++ b/devel/jenkins-lts/files/jenkins.in @@ -38,6 +38,10 @@ # Set to "%%JENKINS_LOG_FILE%%" by default. # Log file location. # +# jenkins_env (str): +# Set to "HOME=${jenkins_home}" by default. +# Environment variables for the jenkins process. +# . /etc/rc.subr @@ -54,16 +58,16 @@ load_rc_config "${name}" : ${jenkins_user="%%JENKINS_USER%%"} : ${jenkins_group="%%JENKINS_GROUP%%"} : ${jenkins_log_file="%%JENKINS_LOG_FILE%%"} +: ${jenkins_env="HOME=${jenkins_home}"} pidfile=/var/run/jenkins/jenkins.pid command=/usr/sbin/daemon java_cmd="${jenkins_java_home}/bin/java" procname="${java_cmd}" -command_args="-p ${pidfile} ${java_cmd} -DJENKINS_HOME=${jenkins_home} ${jenkins_java_opts} -jar %%DATADIR%%/jenkins.war ${jenkins_args} --logfile=${jenkins_log_file}" +command_args="-f -p ${pidfile} ${java_cmd} -DJENKINS_HOME=${jenkins_home} ${jenkins_java_opts} -jar %%DATADIR%%/jenkins.war ${jenkins_args} --logfile=${jenkins_log_file}" required_files="${java_cmd}" start_precmd=jenkins_prestart -start_cmd=jenkins_start jenkins_prestart() { @@ -75,10 +79,4 @@ jenkins_prestart() fi } -jenkins_start() -{ - check_startmsgs && echo "Starting ${name}." - su -l ${jenkins_user} -c "exec ${command} ${command_args} ${rc_arg}" -} - run_rc_command "$1" diff --git a/devel/jenkins/Makefile b/devel/jenkins/Makefile index 9ec892e10049..4682ea724e40 100644 --- a/devel/jenkins/Makefile +++ b/devel/jenkins/Makefile @@ -1,5 +1,6 @@ PORTNAME= jenkins PORTVERSION= 2.576 +PORTREVISION= 1 CATEGORIES= devel java MASTER_SITES= https://get.jenkins.io/war/${PORTVERSION}/ DISTNAME= jenkins diff --git a/devel/jenkins/files/jenkins.in b/devel/jenkins/files/jenkins.in index 52dcaf5274c5..5ef3927bbbf3 100644 --- a/devel/jenkins/files/jenkins.in +++ b/devel/jenkins/files/jenkins.in @@ -38,6 +38,10 @@ # Set to "%%JENKINS_LOG_FILE%%" by default. # Log file location. # +# jenkins_env (str): +# Set to "HOME=${jenkins_home}" by default. +# Environment variables for the jenkins process. +# . /etc/rc.subr @@ -54,16 +58,16 @@ load_rc_config "${name}" : ${jenkins_user="%%JENKINS_USER%%"} : ${jenkins_group="%%JENKINS_GROUP%%"} : ${jenkins_log_file="%%JENKINS_LOG_FILE%%"} +: ${jenkins_env="HOME=${jenkins_home}"} pidfile=/var/run/jenkins/jenkins.pid command=/usr/sbin/daemon java_cmd="${jenkins_java_home}/bin/java" procname="${java_cmd}" -command_args="-p ${pidfile} ${java_cmd} -DJENKINS_HOME=${jenkins_home} ${jenkins_java_opts} -jar %%DATADIR%%/jenkins.war ${jenkins_args} --logfile=${jenkins_log_file}" +command_args="-f -p ${pidfile} ${java_cmd} -DJENKINS_HOME=${jenkins_home} ${jenkins_java_opts} -jar %%DATADIR%%/jenkins.war ${jenkins_args} --logfile=${jenkins_log_file}" required_files="${java_cmd}" start_precmd=jenkins_prestart -start_cmd=jenkins_start jenkins_prestart() { @@ -75,10 +79,4 @@ jenkins_prestart() fi } -jenkins_start() -{ - check_startmsgs && echo "Starting ${name}." - su -l ${jenkins_user} -c "exec ${command} ${command_args} ${rc_arg}" -} - run_rc_command "$1"