Date: Fri, 04 Jan 2019 14:35:00 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 234614] rc framework should provide RC_SERVICE analog Message-ID: <bug-234614-227@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D234614 Bug ID: 234614 Summary: rc framework should provide RC_SERVICE analog Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: bin Assignee: bugs@FreeBSD.org Reporter: kevans@freebsd.org Created attachment 200770 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D200770&action= =3Dedit git(1) diff against rc.subr Some rc scripts in ports (e.g. uwsgi, apache, openvpn) allow for 'applicati= on profiles' that usually require the rc script to be invoked again for each active profile. Because there's no consistent way to determine the path bec= ause it differs between manual/service(8) invocations and /etc/rc invocations, t= his leads to patterns like these: https://svnweb.freebsd.org/ports/head/www/uwsgi/files/uwsgi.in?revision=3D4= 73044&view=3Dmarkup#l104 (hardcoded script path) https://svnweb.freebsd.org/ports/head/security/openvpn/files/openvpn.in?rev= ision=3D420825&view=3Dmarkup#l73 (guessing a $_file or $0 based on $0 =3D /etc/rc) We should provide something similar to OpenRC's RC_SERVICE that rc scripts = can consistently use to re-invoke themselves as needed, rather than having to p= lay guessing games. I'm attaching a diff that approximately does ${_file-$0}, but instead sets = up an rc_service var as execution goes. It will get set initially to $0, which= may be a terrible guess if we're being executed via /etc/rc, but this guess lat= er gets corrected for that case in run_rc_script before the script actually ge= ts sourced. Whether we're directly executing and sourcing rc.subr for the first time, or whether rc.subr is sourcing the script, rc_service provided by rc.subr shou= ld be correct and available in the rc script. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-234614-227>