From nobody Sat Dec 02 08:06:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Sj2Yy42wTz53K11; Sat, 2 Dec 2023 08:06:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Sj2Yy3Xynz3L0J; Sat, 2 Dec 2023 08:06:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1701504374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oHgZI/lkYzFs2Ri8B90O7gdlKDveh6xeWBXLkDQu8+I=; b=xr1hEftKqkpdJnqEMaItYTu+7m4XtTZsryicDJ0z3qvijXXr3WrsQQkkWNIPvn+600Vu+p v1rp38NSGVi7bMFsh6bKqXyJkSiHc/HzdC56Z0KDdAt3TVLgYWwcxkr47rE1lgG+PRdWMu zdLAzQ4qktkUgQHNQqHR+GtiZWCPwXtAyMVTvHdaYE9JrQFMs5odTHYAoMJge4NW4QZY+k 0L6g9IL2eR1WLq9pyUHJ4UX8+l9l1ao5akfrEI01LZMzMYwfJQdB54y9QYfbRn9yx/f9g1 gRL8LT5xo3UTGE/htn/zDRODSAZquSYXIqcM4m5yJXfv+ErWlTAAkH1xwh/EuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1701504374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=oHgZI/lkYzFs2Ri8B90O7gdlKDveh6xeWBXLkDQu8+I=; b=Sb7eg5uVdThkVs7efuxY3adSP5pm117F6P+u6yXCRAkfrgmMyssHphIEWti+K+jRwSphpf 69UDOyGlvGrCzRjHZEpl7m8ZNNIbd8Ys2g5MniRaXeldx7Ppqxnuq6AoT21HIvTYYFhITt JkNy4oTk3EDVK4IeYQIyB62X5/NqS658s1Ilppn/kJxfPHzqIabcLr1wW4vjHkQUZMsBcF C8jbSxzsu2GjV+vRilMAfTQXhaAeKiY259560TK8d7xAwXkz16Y+Oqwb0y+PjJjftw9RHd 6Gniph9t9RLVe9juu6hqMojcJRobMDf3PRrXqsXiUjaahQhVCQngYg3FpFzNRg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1701504374; a=rsa-sha256; cv=none; b=p+ttP7HgAuQmZh5EoJArzIAL/F/iYe9EdvFbqfzXaCZJrBk7PK7uzLNadnW7DK5GziD5Df gBraGJnZwPdndPJ4ECX9f/r+bb/dN28oloGTY+PhxVecDwW05BRfQ8N2UVo3rBrByIhJuE z+o+NVJvegQGaWFqG+wLlv717A9P4r+iOKEzYMwFB2DUVMTX2HOqrKgZ6AXvioN6xoXYaz P3i9uZZDf+CDgL9YCUSvyIZY0vC84J/FFZpOueMtDS3cH6wcDeBk0d4e5rF9+Ja0KfkheV KarH+rPgAo7wp8ptBK/6RJXPcSjqE4hq6Hxrk8lfO9bhYNMIxfFqJMtrtBkEew== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Sj2Yy2WNjz18BM; Sat, 2 Dec 2023 08:06:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3B286E4Y045113; Sat, 2 Dec 2023 08:06:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3B286EXd045110; Sat, 2 Dec 2023 08:06:14 GMT (envelope-from git) Date: Sat, 2 Dec 2023 08:06:14 GMT Message-Id: <202312020806.3B286EXd045110@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Eugene Grosbein Subject: git: ed36613e65ab - stable/13 - rc: add ${name}_setup script support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: eugen X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ed36613e65ab59ba8e9c2ca73ca8188457b51d01 Auto-Submitted: auto-generated The branch stable/13 has been updated by eugen: URL: https://cgit.FreeBSD.org/src/commit/?id=ed36613e65ab59ba8e9c2ca73ca8188457b51d01 commit ed36613e65ab59ba8e9c2ca73ca8188457b51d01 Author: Franco Fichtner AuthorDate: 2022-08-15 14:41:31 +0000 Commit: Eugene Grosbein CommitDate: 2023-12-02 08:03:49 +0000 rc: add ${name}_setup script support Run a service-based setup script before running the start command. Useful for automatic configuration file generation. Reviewed by: https://reviews.freebsd.org/D36006 --- libexec/rc/rc.subr | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/libexec/rc/rc.subr b/libexec/rc/rc.subr index 032d7b261bc2..2f9ce7f54bef 100644 --- a/libexec/rc/rc.subr +++ b/libexec/rc/rc.subr @@ -803,6 +803,8 @@ startmsg() # # ${name}_prepend n Command added before ${command}. # +# ${name}_setup n Command executed before ${command}. +# # ${name}_login_class n Login class to use, else "daemon". # # ${name}_limits n limits(1) to apply to ${command}. @@ -987,8 +989,8 @@ run_rc_command() _group=\$${name}_group _groups=\$${name}_groups \ _fib=\$${name}_fib _env=\$${name}_env \ _prepend=\$${name}_prepend _login_class=\${${name}_login_class:-daemon} \ - _limits=\$${name}_limits _oomprotect=\$${name}_oomprotect \ - _env_file=\$${name}_env_file + _limits=\$${name}_limits _oomprotect=\$${name}_oomprotect \ + _setup=\$${name}_setup _env_file=\$${name}_env_file if [ -n "$_env_file" ] && [ -r "${_env_file}" ]; then # load env from file set -a @@ -1144,6 +1146,12 @@ $command $rc_flags $command_args" fi fi + if [ -n "$_setup" ]; then + if ! _run_rc_doit "$_setup"; then + warn "failed to setup ${name}" + fi + fi + # Prepend default limits _doit="$_cd limits -C $_login_class $_limits $_doit" @@ -2160,7 +2168,7 @@ check_kern_features() # check_namevarlist var # Return "0" if ${name}_var is reserved in rc.subr. -_rc_namevarlist="program chroot chdir env flags fib nice user group groups prepend" +_rc_namevarlist="program chroot chdir env flags fib nice user group groups prepend setup" check_namevarlist() { local _v