|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.1 |
22-Mar-2015 |
ast |
branches: 1.1.2; Import a substantially modified service(8) command from FreeBSD to manage rc.d scripts. This command is well known on most other Unixes and should help soften the learning curve for Unix admins coming to NetBSD.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.10 |
26-Jul-2024 |
jakllsch |
Fix missing whitespace in not found message.
From Daniel Cunha in PR 58471
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.9 |
14-Mar-2023 |
kre |
branches: 1.9.2; Don't inappropriately use xargs to run rcorder -- xargs is designed to run the given command as many times as necessary, but rcorder must be run just once, with all the rc.d scripts as args. If that turns out to be too many (E2BIG on exec) then we have more serious problems, working around it by use of xargs just makes a mess (for rcorder).
Make the -e option cause the script to exit 0 if some enabled script was found, and 1 if not, so one can do: if service -e foobar >/dev/null then whatever we want to do when foobar is enabled else anything we want instead if it is not fi Someday perhaps add a -q to suppress the output instead of requiring the redirect, but that day is not this one. Make all error exit status codes be >1 (and use the standard 126 instead of 255, for "exec failed").
Note that with more than one service given with -e, or when none are (so all enabled scripts are listed) the exit status is 0 if any enabled script was found (ie: anything was printed to stdout), not if all named scripts exist and are enabled. Testing the status works best with just one script name given as an arg.
Correctly quote script names (and use eval where required) so scripts (or paths to scripts) containing spaces, tabs, or shell operator chars might be handled correctly (newlines in names will still cause failures.)
Treat rc.d scripts that do not have an rcvar (hence are always enabled) as enabled scripts, rather than disabled - but ignore the LOGIN DAEMON... pseudo-scripts.
While here, replace archaic uses of "test" ('[') (that is, -a etc) with standard defined usages only, replace a baroque use of sed with sh code (which is simpler and much faster, not that speed matters) - but do use sed instead of two grep invocations. Replace all uses of "echo" with "printf" (just "because"!) Make the usage more useful (explain what the various option combinations achieve, explicitly), and also while here, make the formatting look closer to something I can deal with (personally I prefer tab indents almost everywhere, but 4 space is OK...) Aligned runs of 8 spaces were all replaced by a tab. For the options, use sh boolean cmds (true|false), and simply run them, rather than making them be empty or set and using test -n, it is easier to follow (and a tiny fraction of a ns faster). Change a comment so what it says is relevant to the code that is present, rather than to the change (referring to code that used to be present) with which it was added.
Catch the manual page up with the minor parts of this intended to be visible to users (like the exit status change).
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base perseant-stdc-iso10646-base
|
| 1.8 |
05-Jun-2017 |
sborrill |
Only match first instance of name and rcvar in file.
|
|
Revision tags: netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.7 |
05-Apr-2015 |
apb |
branches: 1.7.2; 1.7.10; More shell quoting. /etc/rc.d/* file names with embedded spaces are not expected to work, but let's quote them anyway.
|
| 1.6 |
02-Apr-2015 |
ast |
cosmetic change in man 8 service use shell quoting in a safe way as suggested by Alan Barrett
|
| 1.5 |
27-Mar-2015 |
ast |
Integrate some feedback gleened from tech-userlevel@netbsd.org: Avoid ls -P so that script can also run pre-netbsd-7. Make sure /etc/rc.conf.d configurations are supported.
|
| 1.4 |
23-Mar-2015 |
ast |
Remove -f option as rc_fast is not set in invocation mode. Do the load_rc_config *after* option parsing. Catch conflicting -e + -l option specs.
|
| 1.3 |
22-Mar-2015 |
wiz |
Sort options in usage.
|
| 1.2 |
22-Mar-2015 |
ast |
Make the usage appear more standard.
|
| 1.1 |
22-Mar-2015 |
ast |
Import a substantially modified service(8) command from FreeBSD to manage rc.d scripts. This command is well known on most other Unixes and should help soften the learning curve for Unix admins coming to NetBSD.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.6 |
14-Mar-2023 |
uwe |
service(8): fix markup
|
| 1.5 |
14-Mar-2023 |
kre |
Don't inappropriately use xargs to run rcorder -- xargs is designed to run the given command as many times as necessary, but rcorder must be run just once, with all the rc.d scripts as args. If that turns out to be too many (E2BIG on exec) then we have more serious problems, working around it by use of xargs just makes a mess (for rcorder).
Make the -e option cause the script to exit 0 if some enabled script was found, and 1 if not, so one can do: if service -e foobar >/dev/null then whatever we want to do when foobar is enabled else anything we want instead if it is not fi Someday perhaps add a -q to suppress the output instead of requiring the redirect, but that day is not this one. Make all error exit status codes be >1 (and use the standard 126 instead of 255, for "exec failed").
Note that with more than one service given with -e, or when none are (so all enabled scripts are listed) the exit status is 0 if any enabled script was found (ie: anything was printed to stdout), not if all named scripts exist and are enabled. Testing the status works best with just one script name given as an arg.
Correctly quote script names (and use eval where required) so scripts (or paths to scripts) containing spaces, tabs, or shell operator chars might be handled correctly (newlines in names will still cause failures.)
Treat rc.d scripts that do not have an rcvar (hence are always enabled) as enabled scripts, rather than disabled - but ignore the LOGIN DAEMON... pseudo-scripts.
While here, replace archaic uses of "test" ('[') (that is, -a etc) with standard defined usages only, replace a baroque use of sed with sh code (which is simpler and much faster, not that speed matters) - but do use sed instead of two grep invocations. Replace all uses of "echo" with "printf" (just "because"!) Make the usage more useful (explain what the various option combinations achieve, explicitly), and also while here, make the formatting look closer to something I can deal with (personally I prefer tab indents almost everywhere, but 4 space is OK...) Aligned runs of 8 spaces were all replaced by a tab. For the options, use sh boolean cmds (true|false), and simply run them, rather than making them be empty or set and using test -n, it is easier to follow (and a tiny fraction of a ns faster). Change a comment so what it says is relevant to the code that is present, rather than to the change (referring to code that used to be present) with which it was added.
Catch the manual page up with the minor parts of this intended to be visible to users (like the exit status change).
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base netbsd-9-3-RELEASE cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.4 |
02-Apr-2015 |
ast |
branches: 1.4.2; cosmetic change in man 8 service use shell quoting in a safe way as suggested by Alan Barrett
|
| 1.3 |
23-Mar-2015 |
ast |
Remove -f option as rc_fast is not set in invocation mode. Do the load_rc_config *after* option parsing. Catch conflicting -e + -l option specs.
|
| 1.2 |
22-Mar-2015 |
wiz |
Sort options. Use An -nosplit in AUTHORS section.
|
| 1.1 |
22-Mar-2015 |
ast |
Import a substantially modified service(8) command from FreeBSD to manage rc.d scripts. This command is well known on most other Unixes and should help soften the learning curve for Unix admins coming to NetBSD.
|