Provide more details about the influence of optargs' first character
on the shell's behavior in regard to invalid arguments. Also do some
minor word-smithing.
Original submission by rea@
Differential Revision: https://reviews.freebsd.org/D49106
TIL the `:` command accepts and discards arguments, and this is
occasionally used to embed comments in interesting places. While
here, fix another `...` argument that was not marked up.
MFC after: 3 days
Thanks: Community Discord
Approved by: carlavilla, mhorne (mentors)
Differential Revision: https://reviews.freebsd.org/D48398
gethost is a build tool built in stage 2.3, but it had a dependency on
tc.const.h, which requires target headers (that are not installed until
stage 4.1). The build falls back to the host's headers if the target
headers don't yet exist, which may result in a build failure if the
host's headers don't match the target.
As gethost.c doesn't actually require the definitions in tc.const.h, add
a hack to skip the include of tc.const.h and remove the dependency.
PR: 283273
Reviewed by: imp
Sponsored by: The FreeBSD Foundation
Fixes: e754e5f361 ("Upgrade to 6.10")
Differential Revision: https://reviews.freebsd.org/D48880
Also implement --group-directories which takes a parameter.
"first" is equivalent to --group-directories-first, "last" gives
reversed sorting.
Changes in sorting between elements of the same type (files,
directories) are not intended.
Differential Revision: https://reviews.freebsd.org/D48347
Before this change, the total printed on the first line was always in
blocks.
Now the long format with -h will print the "humanized number" instead.
`ls -sh` never provided sizes in anything other than blocks, total or
individual, and this commit doesn't change that.
The total number of blocks is a sum of fts_statp->st_blocks, so it's
multiplied by 512 and not by blocksize.
$ ls -lh /usr/bin | head -n 2
total 442 MB
-r-xr-xr-x 1 root wheel 70B Dec 20 21:06 CC
Differential Revision: https://reviews.freebsd.org/D48329
The -v/--verbose option enables this utility to show diagnosis
info to stderr about any signal sent on timeout.
This implementation refers to GNU coreutils's timeout(1).
Reviewed by: bapt, Alexander Ziaee (manpages)
Approved by: bapt (src)
Obtained from: DragonFlyBSD
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D48225
- Define exit status and macros and use them
- Improve the second kill logic by setting 'do_second_kill = false'
after configuring the second kill
- Minor style tweaks
- Reorder options in the man page, as well as the usage help
- Reorder the exit status in the man page
- Enhance the HISTORY section in the man page (obtained from NetBSD)
Reviewed by: bapt, Alexander Ziaee (manpages)
Approved by: bapt (src)
Obtained from: DragonFlyBSD
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D47866
This flag is used in field 'cr_flags', which is never directly visible
outside the kernel. That field is however exported through 'struct
kinfo_proc' objects (field 'ki_cr_flags'), either from the kernel via
sysctls or from libkvm, and is supposed to contain exported flags
prefixed with KI_CRF_ (currently, KI_CRF_CAPABILITY_MODE and
KI_CRF_GRP_OVERFLOW, this second one being a purely userland one
signaling overflow of 'ki_groups').
Make sure that KI_CRF_CAPABILITY_MODE is the flag actually exported and
tested by userland programs, and hide the internal CRED_FLAG_CAPMODE.
As both flags are currently defined to the same value, this doesn't
change the KBI, but of course does change the KPI. A code search via
GitHub and Google fortunately doesn't reveal any outside uses for
CRED_FLAG_CAPMODE.
While here, move assignment of 'ki_uid' to a more logical place in
kvm_proclist(), and definition of XU_NGROUPS as well in 'sys/ucred.h'
(no functional/interface changes intended).
Reviewed by: mhorne
Approved by: markj (mentor)
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D46909
The error may be due to an error while writing, but it's more helpful to
report what we were trying to from rather than "stdout" for these
errors. Noticed because of what happens now when `cat` gets an EISDIR
for reading from a dirfd:
kevans@ifrit:~$ cat /etc
cat: stdout: Is a directory
which, after this change, becomes:
kevans@aarch64-dev:~$ cat /etc
cat: /etc: Is a directory
Reviewed by: allanjude, des, mm
Differential Revision: https://reviews.freebsd.org/D41784
+ increase history consistency by adding "first appeared"
+ remove a skipped new paragraph macro to quiet linter
+ tag spdx
MFC after: 3 days
History source: www.in-ulm.de/~mascheck/various/ash/#bsd
Reviewed by: mhorne,imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1440
-l is required by LSB for login shell, all other shells: bash, zsh,
oksh, mksh, ... implements it.
with -l sh will act as a login shell and read the profile.
MFC After: 1 week
Obtained From: dash (3b7c8442bfe7c2fd0a6b0415df6ddf66a399fd55)
Reviewed by: kib, lme
Differential Revision: https://reviews.freebsd.org/D47681
Some sh tests use ktrace to see whether a particular file, specified in
the environment, was accessed by the shell. After commit 65a4daeaf3,
this test matches the ktrace record generated by execve.
Use ktrace to only log name lookups, to avoid such false matches.
Fixes: 65a4daeaf3 ("ktrace: log execve(2) arguments and environment")
The process flag P_INMEM is always set. Eliminate all checks for the
bit. Also eliminate LAZY_PS define and code covered by it: we do not
have an u-area for long time, and it cannot be swapped out.
Also eliminate setting controlled by the '-f' switch, but accept it for
backward compatibility.
The 'W' process secondary state (swapped out) is impossible, stop
calculating it.
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D47492
Kyua skips tests based on the jail execution environment if a system is
built WITHOUT_JAIL. Thus, the test case does not need to handle it.
Reviewed by: markj
Approved by: markj (mentor)
Differential Revision: https://reviews.freebsd.org/D47334
These were reported by `mandoc -T lint ...` as warnings:
- unusual Xr order
- unusual Xr punctuation
Fixes made by script in https://github.com/Tarsnap/freebsd-doc-scripts
Signed-off-by: Graham Percival <gperciva@tarsnap.com>
Reviewed by: mhorne, Alexander Ziaee <concussious.bugzilla@runbox.com>
Sponsored by: Tarsnap Backup Inc.
Pull Request: https://github.com/freebsd/freebsd-src/pull/1464
The intended value is:
-offset indent
If there's any typo such that the value doesn't match the pre-defined
strings, then the offset is the same width as the value. So by chance,
"-offset -ident" ended up being a standard-width indent (since the
default indent is 6 chars, and "-ident" also has 6 chars), whereas
"-offset -indent" had a longer indent, and "-offset ident" had a shorter
one.
Signed-off-by: Graham Percival <gperciva@tarsnap.com>
Reviewed by: mhorne, Alexander Ziaee <concussious.bugzilla@runbox.com>
MFC after: 3 days
Sponsored by: Tarsnap Backup Inc.
Pull Request: https://github.com/freebsd/freebsd-src/pull/1436
Update the STANDARDS section for timeout(1) to
POSIX 1003.1-2024.
Update mandoc to be able to render the
new POSIX macro.
Reviewed by: bapt, bcr
Approved by: bapt
Obtained from: OpenBSD
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D45691
* Don't use `asprintf()` when `strdup()` can do the job just as well.
* Fix a couple of typos in a comment.
Fixes: eeb04a736c
MFC after: 3 days
Sponsored by: Klara, Inc.
Reviewed by: markj
Differential Revision: https://reviews.freebsd.org/D46533
Make the system call honor `AT_SYMLINK_NOFOLLOW`.
Also enable this from `linux_faccessat2` where the issue arised the first time.
Update manual pages accordingly.
PR: 275295
Reported by: kenrap@kennethraplee.com
Approved by: kib@
Differential Revision: https://reviews.freebsd.org/D46267
If test is called as [ and one forgets to close the bracket, the error
message is currently
[: missing ]
To make it obvious that this is not something printed in brackets,
quote the closing bracket in the message, which is what everybody else
is doing:
[: missing ']'
Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1346
Instead of initializing individual fields to zero, clear the entire
struct prior to populating it.
MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: 0mp, markj
Differential Revision: https://reviews.freebsd.org/D46097
While here, remove a bogus comment about a gcc bug. The bug was in ls,
which used an incorrect format string, and in libc, which accepted it.
MFC after: 1 week
Reviewed by: brooks
Differential Revision: https://reviews.freebsd.org/D46067
Pax can sometimes loop forever. For example:
$ mkdir -p /tmp/src/foo/bar
$ rm -rf /tmp/dst ; mkdir -p /tmp/dst
$ cd /tmp/src
$ echo 'foo/bar/' | /bin/pax -r -w -d -pe "/tmp/dst"
<looping infinitely>
Here, pax(1) infinitely deletes and re-creates /tmp/dst/foo/bar/.
The problem is that chk_path() (bin/pax/file_subs.c), called from
node_creat() also creates the leaf directory when a trailing '/' appears
in the directory name to create. When the execution goes back from
chk_path() to node_creat(), the function still cannot create the leaf
directory (it has been created by chk_path()), so it unlinks it and
calls node_creat() again. The function re-creates it, and so on...
In node_creat() detect trailing slashes and not create a leaf directory,
but only intermediate ones.
PR: 277060
Reviewed by: imp
Remove this historical artifact.
csh will try to use /.csrch if the user has no home directory defined which
is rather unlikely (To be exact if the concatenation of $HOME and "/.cshrc"
fail which is the same thing).
Also, with this change pkg will happily handle 3way merge for /root/.cshrc
Differential Revision: https://reviews.freebsd.org/D45382
Reviewed by: emaste, imp
Sponsored by: Beckhoff Automation GmbH & Co. KG
In copy_file(), make sure the from_fd file descriptor is closed even
when the operation failed early.
Reported by: Coverity Scan
CID: 1545036
Sponsored by: The FreeBSD Foundation
Reviewed by: imp, emaste
Pull Request: https://github.com/freebsd/freebsd-src/pull/1238
I just noticed a slight issue with the '-D' option. Basically,
I accidentally typed something along the lines of:
ps -Dboth-p303
I.E. missing out the "space". Instead of giving an error, it behaved as
if I'd just typed "ps".
Looking at bin/ps/ps.c, where the -D option is parsed, it doesn't
error-out if there is no valid match.
This commit fixes the bug.