Fix exit status when f_sysrc_set() fails. Errors in the underlying API
provided by bsdconfig(8) -- /usr/share/bsdconfig/sysrc.subr -- were not
being communicated back to the command-line. This was affecting ansible
modules using sysrc as they were not able to accurately test for error.
PR: bin/211448
Reported by: Christian Schwarz <me@cschwarz.com>
MFC after: 3 days
X-MFC-to: stable/11
Sponsored by: Smule, Inc.
sysrc(8) supports key+=value and key-=value, but can be told what the
delimiter is by being passed as char1 (e.g., "sysrc key+=",value" to use a
comma as the delimiter instead of space). For convenience, if the first char
is alpha-numeric, it is assumed you wanted whitespace as the delimiter.
However, if you naively (as I just did) execute:
sysrc rc_conf_files+=/etc/rc.conf.other
the result is unexpected.
This commit makes `.' and `/' in-addition to alpha-numeric first-characters
to cause the default of whitespace to be used as the delimiter. This also
means that you can no longer use these as a delimiter.
When using col(1) piped to vim(1) as pager for man(1), the former sequence
of (Qo \ Qc) renders as "" without the space. Replace with (Qo (space) Qc)
which renders properly in more (all?) pagers.
This is not properly respecting WITHOUT or ARCH dependencies in target/.
Doing so requires a massive effort to rework targets/ to do so. A
better approach will be to either include the SUBDIR Makefiles directly
and map to DIRDEPS or just dynamically lookup the SUBDIR. These lose
the benefit of having a userland/lib, userland/libexec, etc, though and
results in a massive package. The current implementation of targets/ is
very unmaintainable.
Currently rescue/rescue and sys/modules are still not connected.
Sponsored by: EMC / Isilon Storage Division
indicate service(8) script. While here, add "-l" option for listing the
set of configuration file(s) considered (in order; separated by space).
Also add "-L" for exploring all configuration files and "-E" to omit
files that don't exist from operations.
Differential Revision: https://reviews.freebsd.org/D3551
Reviewed by: allanjude
MFC after: 1 week
X-MFC-to: stable/10
Relnotes: yes
+ Make `sysrc -x foo' produce error status if foo is unset.
NB: Reported by lme (everything else ``while I'm at it'')
+ Remove mention of SYSRC_VERBOSE from `sysrc --help' output.
NB: False documentation leftover from an ancient precursor.
+ Make `sysrc -qc foo' work the same as `sysrc -ic foo' when foo is unset
NB: For syntax convenience (my fingers know `-q' more than `-i').
+ Update description of `-c' flag in help message/manual.
+ Update description of `-q' flag in help message/manual.
+ Make `sysrc -vc foo' work as documented in the manual
NB: Show message stating whether foo is currently set.
+ Make `sysrc -vc foo=1' work as documented in the manual
NB: Show message stating how value of foo would be changed (if at all).
+ Remove odd usage of parentheses in `-R dir' section of manual.
+ Clarify syntax section of manual w/respect to sysctl(8) similarities.
+ Add new/missing people to the `THANKS TO' section of the manual.
Reported by: lme
MFC after: 3 days
X-MFC-to: stable/10, stable/9, ports
(get command) or if the current value is the same as what is desired
(set command). In those cases, the return status is success.
Otherwise, if the variable is unset (get command) or set to a different
value that what is desired (set command), returns with error status.
This is useful for puppet integration as well as everyday scripting.
Rather, prevent a bunch of debugging information from spewing onto the
screen when using the `describe' flag (misinterpreted as `debug' by
the automatatic initialization routines).
Do not inherit $SYSRC_VERBOSE from operating environment. The concern is
that when a user (such as myself) which has SYSRC_VERBOSE=1 in his/her
~/.bash_profile or such that when they are told to execute a command like:
hostname `sysrc -n hostname`
NOTE: To activate a recently configured hostname.
If $SYSRC_VERBOSE is set, then POLA is violated because the output of sysrc
is indirectly influenced (making for an inconsistent experience).
that when a user (such as myself) which has SYSRC_VERBOSE=1 in his/her
~/.bash_profile or such that when they are told to execute a command like:
hostname `sysrc -n hostname`
NOTE: To activate a recently configured hostname.
If $SYSRC_VERBOSE is set, then POLA is violated because the output of sysrc
is indirectly influenced (making for an inconsistent experience).
GZIP compressed manuals to appear in ./src instead of the appropriate obj dir.
PR: conf/175844
Submitted by: Dominique Goncalves <dominique.goncalves@gmail.com>