OSDN Git Service

android-x86/external-toybox.git
7 years agomake test_cmp caused the make invocation to exit with an error because the
Rob Landley [Mon, 5 Sep 2016 00:13:31 +0000 (19:13 -0500)]
make test_cmp caused the make invocation to exit with an error because the
last test exited with nonzero status and the script preserved it. In the
current context, that's counterproductive.

7 years agoAdd comment so I don't undo and then redo a thing again.
Rob Landley [Sun, 4 Sep 2016 23:07:12 +0000 (18:07 -0500)]
Add comment so I don't undo and then redo a thing again.

7 years agoRemove a chunk of copied header that hasn't been upated in a while.
Rob Landley [Sun, 4 Sep 2016 22:42:32 +0000 (17:42 -0500)]
Remove a chunk of copied header that hasn't been upated in a while.

7 years agoAdd openro() and WARN_ONLY flag so xopen() and friends can warn without exiting.
Rob Landley [Sun, 4 Sep 2016 22:26:34 +0000 (17:26 -0500)]
Add openro() and WARN_ONLY flag so xopen() and friends can warn without exiting.

7 years agoSwitch help.c from #ifdef to if()
Rob Landley [Sun, 4 Sep 2016 22:18:31 +0000 (17:18 -0500)]
Switch help.c from #ifdef to if()

7 years agoMove genericish function to lib.
Rob Landley [Sat, 3 Sep 2016 20:41:55 +0000 (15:41 -0500)]
Move genericish function to lib.

7 years agoAdd tap support to tunctl.
Rob Landley [Sun, 28 Aug 2016 05:32:41 +0000 (00:32 -0500)]
Add tap support to tunctl.

7 years agoMake "LC_ALL=C ls -Cs --color" produce the same output on toybox and ubuntu.
Rob Landley [Sun, 28 Aug 2016 04:27:45 +0000 (23:27 -0500)]
Make "LC_ALL=C ls -Cs --color" produce the same output on toybox and ubuntu.

(Two spaces padding between columns, and -k is hardwired on.)

7 years agoRemove some redundancy and unnecessary xprintf().
Rob Landley [Sun, 28 Aug 2016 04:07:04 +0000 (23:07 -0500)]
Remove some redundancy and unnecessary xprintf().

(We should use xprintf and similar to flush and check if stdout went away
once per line. No point flushing partway through a line, so in ls only use it
on things outputting a newline char.)

7 years agoFix ls -sh.
Elliott Hughes [Thu, 25 Aug 2016 23:28:05 +0000 (16:28 -0700)]
Fix ls -sh.

-h should apply to -s too. (Previously it only applied to the "total"
line in -s output.)

7 years agoAdd chrt to pending.
Elliott Hughes [Wed, 24 Aug 2016 21:50:05 +0000 (14:50 -0700)]
Add chrt to pending.

Requested by a Google team whose product is based on Android.

7 years agoAdd tunctl.
Rob Landley [Tue, 23 Aug 2016 04:03:18 +0000 (23:03 -0500)]
Add tunctl.

7 years agoA round of dd cleanup.
Rob Landley [Mon, 22 Aug 2016 04:45:19 +0000 (23:45 -0500)]
A round of dd cleanup.

7 years agoPromote setfattr
Rob Landley [Sun, 21 Aug 2016 01:24:30 +0000 (20:24 -0500)]
Promote setfattr

7 years agoClean up setfattr.
Rob Landley [Sun, 21 Aug 2016 01:20:06 +0000 (20:20 -0500)]
Clean up setfattr.

7 years agoChange xgetpwnamid/xgetgrnamid to xgetuid/xgetgid returning the id number
Rob Landley [Fri, 19 Aug 2016 02:33:27 +0000 (21:33 -0500)]
Change xgetpwnamid/xgetgrnamid to xgetuid/xgetgid returning the id number
instead of a struct. This means it can return "12345" even if that user/group
doesn't exist in /etc/passwd and similar.

All the users were immediately dereferencing it to get pw_uid or gr_gid
anyway, so just return it directly and adjust the users. This fixes
things like "chown 12345:23456 filename".

7 years agoAdd length modifier to date escapes, and length sanity check.
Rob Landley [Tue, 16 Aug 2016 19:14:22 +0000 (14:14 -0500)]
Add length modifier to date escapes, and length sanity check.

7 years agoMake "stat -c %37G file" and "stat -c %.5G file" work, and fix %U and %G to
Rob Landley [Mon, 15 Aug 2016 07:02:32 +0000 (02:02 -0500)]
Make "stat -c %37G file" and "stat -c %.5G file" work, and fix %U and %G to
not segfault on a lookup failure (they print the number instead of UNKNOWN).

The whitespace in the default output may need some adjusting.

7 years agoExplain shared library policy, fix an unblanaced tag, add some links.
Rob Landley [Mon, 15 Aug 2016 00:04:02 +0000 (19:04 -0500)]
Explain shared library policy, fix an unblanaced tag, add some links.

7 years agoDocument deviations from posix for echo.
Rob Landley [Sat, 13 Aug 2016 22:53:32 +0000 (17:53 -0500)]
Document deviations from posix for echo.

7 years agoAdd TOYFLAG_NOHELP to disable --help processing for individual commands,
Rob Landley [Sat, 13 Aug 2016 22:50:54 +0000 (17:50 -0500)]
Add TOYFLAG_NOHELP to disable --help processing for individual commands,
apply it to "true" and "false".

7 years agoMove getusername/getgroupname to lib. (Return name or string representation
Rob Landley [Sat, 13 Aug 2016 20:19:29 +0000 (15:19 -0500)]
Move getusername/getgroupname to lib. (Return name or string representation
of number, but never NULL. Both returned in static buffer good through
next call.)

7 years agoMatthias Urhahn pointed out that %b returns hardwired 512 byte units
Rob Landley [Thu, 11 Aug 2016 14:46:36 +0000 (09:46 -0500)]
Matthias Urhahn pointed out that %b returns hardwired 512 byte units
(man 2 stat says so) and %B is the units on %b (I.E. always 512), so change
output and help text. This matches what other implementations produce.

7 years agoInline setup_inout(), test ftruncate() return value, move gettimeofday() before
Rob Landley [Sun, 7 Aug 2016 00:38:25 +0000 (19:38 -0500)]
Inline setup_inout(), test ftruncate() return value, move gettimeofday() before
seek so seek time is included in total.

7 years agoMake xopen() skip stdin/stdout/stderr, add xopen_stdio() if you want stdout,
Rob Landley [Thu, 4 Aug 2016 15:16:59 +0000 (10:16 -0500)]
Make xopen() skip stdin/stdout/stderr, add xopen_stdio() if you want stdout,
add xopenro() that takes one argument and understands "-" means stdin,
and switch over lots of users.

7 years agoFix warning: 'XATTR_NAME_SMACK' macro redefined.
Elliott Hughes [Tue, 2 Aug 2016 18:12:15 +0000 (11:12 -0700)]
Fix warning: 'XATTR_NAME_SMACK' macro redefined.

Recent Linux uapi <linux/xattr.h> headers define XATTR_NAME_SMACK.
The <sys/xattr.h> include at the top of lib/lsm.h means that even
though the direct include of <linux/xattr.h> is guarded, it may
have already happened transitively anyway.

(The alternative fixes would be to hard-code the correct value for
XATTR_NAME_SMACK here instead, or #undef XATTR_NAME_SMACK.)

7 years agoFix touch(1) date parsing on tzcode-derived systems.
Elliott Hughes [Fri, 29 Jul 2016 20:11:04 +0000 (13:11 -0700)]
Fix touch(1) date parsing on tzcode-derived systems.

The IANA tzcode implementation of mktime (used on Android and BSDs) sets
errno in some cases where it doesn't return -1 to indicate failure, so the
existing test always failed on those systems.

I don't think glibc ever sets errno (which is fine by ISO C, but not POSIX).

Other uses of mktime in toybox are already fine. This one would have been
caught by the existing tests if I was running them on the device :-(

7 years agoSingle builds skip commands with 0 in the install location so
Rob Landley [Sat, 30 Jul 2016 16:39:17 +0000 (11:39 -0500)]
Single builds skip commands with 0 in the install location so
"make test_scankey" didn't work.

7 years agoIzabera reporeted that FLAG_v was never checked in timeout. (Oops.)
Rob Landley [Fri, 29 Jul 2016 22:35:29 +0000 (17:35 -0500)]
Izabera reporeted that FLAG_v was never checked in timeout. (Oops.)

7 years agoMove regexec0 into lib (regexec that takes length and matches after NUL).
Rob Landley [Tue, 26 Jul 2016 18:35:56 +0000 (13:35 -0500)]
Move regexec0 into lib (regexec that takes length and matches after NUL).

7 years agoUsischev Yury pointed out that id shouldn't use exit() directly.
Rob Landley [Sat, 23 Jul 2016 23:25:38 +0000 (18:25 -0500)]
Usischev Yury pointed out that id shouldn't use exit() directly.

7 years agoUsischev Yury pointed out a use after free error.
Rob Landley [Sat, 23 Jul 2016 23:12:48 +0000 (18:12 -0500)]
Usischev Yury pointed out a use after free error.

7 years agoMany failing tests I need to fix grep to pass while adding --color.
Rob Landley [Sat, 23 Jul 2016 06:32:23 +0000 (01:32 -0500)]
Many failing tests I need to fix grep to pass while adding --color.

7 years agoCommon test infrastructure says command name, don't have sed.tests say 'sed sed'
Rob Landley [Thu, 21 Jul 2016 21:37:03 +0000 (16:37 -0500)]
Common test infrastructure says command name, don't have sed.tests say 'sed sed'

7 years agoAdd getfattr(1) and setfattr(1).
Elliott Hughes [Sun, 17 Jul 2016 17:42:31 +0000 (10:42 -0700)]
Add getfattr(1) and setfattr(1).

Plus basic tests.

7 years agoThe recent option parsing changes broke the multiplexer, because the "toybox"
Rob Landley [Sun, 17 Jul 2016 07:14:35 +0000 (02:14 -0500)]
The recent option parsing changes broke the multiplexer, because the "toybox"
command was trying to parse their options and failing. (Commands
that aren't just disabled but have no option string even in the allyesconfig
case need an OPTSTR of 0.)

This is probably only a partial fix, there's some design work to think through
here.

7 years agoRemove sendevent from the Android roadmap.
Elliott Hughes [Fri, 15 Jul 2016 22:14:33 +0000 (15:14 -0700)]
Remove sendevent from the Android roadmap.

Also update the list of things Android builds from pending, which has
shrunk.

7 years agoFix non-library md5sum build. (Oops.)
Rob Landley [Fri, 15 Jul 2016 09:51:56 +0000 (04:51 -0500)]
Fix non-library md5sum build. (Oops.)

7 years agoAdd optional openssl accelerated versions of hash functions, loosely based on
Rob Landley [Fri, 15 Jul 2016 09:45:08 +0000 (04:45 -0500)]
Add optional openssl accelerated versions of hash functions, loosely based on
a patch from Elliott Hughes, who said:

[PATCH] Add support for libcrypto for MD5/SHA.

Orders of magnitude faster (for architectures where OpenSSL/BoringSSL
has optimized assembler).

Also adds sha224sum, sha256sum, sha384sum, and sha512sum for folks
building with libcrypto.

The fallback portable C implementations could easily be refactored
to be API-compatible, but I don't know whether they'd stay here or
move to lib/ so I've left that part alone for now.

7 years agoDon't close stdin when loopfiles reads "-".
Rob Landley [Fri, 15 Jul 2016 09:39:35 +0000 (04:39 -0500)]
Don't close stdin when loopfiles reads "-".

7 years agoSomebody asked a FAQ on irc, so answer it.
Rob Landley [Fri, 15 Jul 2016 07:50:15 +0000 (02:50 -0500)]
Somebody asked a FAQ on irc, so answer it.

7 years agoAdd Android's "sendevent".
Elliott Hughes [Thu, 14 Jul 2016 00:00:58 +0000 (17:00 -0700)]
Add Android's "sendevent".

The lack of support for named constants is not a regression relative
to the toolbox implementation.

7 years agoAdd -c to md5sum and sha1sum.
Rob Landley [Thu, 14 Jul 2016 21:53:33 +0000 (16:53 -0500)]
Add -c to md5sum and sha1sum.

7 years agoIncrease ps' default RSS and VSIZE widths.
Elliott Hughes [Wed, 13 Jul 2016 18:59:42 +0000 (11:59 -0700)]
Increase ps' default RSS and VSIZE widths.

This is enough for everything on Android and everything except Java
on my desktop. Even desktop Chrome fits!

7 years agoBugfix: suffixless string was feeding terminating NUL to strchr() and matching.
Rob Landley [Wed, 13 Jul 2016 18:46:50 +0000 (13:46 -0500)]
Bugfix: suffixless string was feeding terminating NUL to strchr() and matching.

7 years agoImplement NOP find -noleaf
Rob Landley [Tue, 12 Jul 2016 20:48:25 +0000 (15:48 -0500)]
Implement NOP find -noleaf

7 years agoConvert atolx() and friends to use long long internally. Update design.html
Rob Landley [Tue, 12 Jul 2016 19:51:51 +0000 (14:51 -0500)]
Convert atolx() and friends to use long long internally. Update design.html
to use this (and tail) as examples of simplicity of implementation winning
and losing.

7 years agodd improvements.
Elliott Hughes [Fri, 8 Jul 2016 04:48:33 +0000 (21:48 -0700)]
dd improvements.

Support hex (requested by users).

Support status=noxfer and status=none (requested by users).

Fix status output.

Clarify large numbers in --help output.

Use O_TRUNC rather than ftruncate unless we're also seeking.

New tests.

Also partial cleanup (reuse of existing code, removal of non-GLOBALS globals,
and merge dd_main and do_dd).

7 years agoFix typo in chattr test.
Elliott Hughes [Fri, 8 Jul 2016 02:32:34 +0000 (19:32 -0700)]
Fix typo in chattr test.

7 years agoFix generated/make.sh. (Quotes in TOYBOX_VERSION need to wind up in
Rob Landley [Wed, 6 Jul 2016 00:36:00 +0000 (19:36 -0500)]
Fix generated/make.sh. (Quotes in TOYBOX_VERSION need to wind up in
resulting macro.)

7 years agoImplement xxd -s.
Elliott Hughes [Tue, 5 Jul 2016 22:05:09 +0000 (15:05 -0700)]
Implement xxd -s.

7 years agoDon't try to guess the build id type in file(1).
Elliott Hughes [Tue, 5 Jul 2016 20:39:42 +0000 (13:39 -0700)]
Don't try to guess the build id type in file(1).

They're really just arbitrary byte sequences of arbitrary length.
Sure, a 20-byte sequence is _probably_ a SHA-1, but there's no way
to know, so let's stop pretending...

7 years agoFix chattr and date tests.
Rob Landley [Tue, 5 Jul 2016 03:25:52 +0000 (22:25 -0500)]
Fix chattr and date tests.

7 years agoNow that we're using the adjusted option string, need to skip placeholders in [groups].
Rob Landley [Mon, 4 Jul 2016 13:32:42 +0000 (08:32 -0500)]
Now that we're using the adjusted option string, need to skip placeholders in [groups].

7 years agoFix a bug (octal digits are 0-7, not 0-8) and deal with a case where posix
Rob Landley [Mon, 4 Jul 2016 07:59:09 +0000 (02:59 -0500)]
Fix a bug (octal digits are 0-7, not 0-8) and deal with a case where posix
is explicitly outright insane (%b handles octal escapes differently for no
obvious reason).

7 years agoPromote file.
Rob Landley [Mon, 4 Jul 2016 03:14:40 +0000 (22:14 -0500)]
Promote file.

7 years agoImprove file(1)'s ELF support.
Elliott Hughes [Sat, 2 Jul 2016 19:53:40 +0000 (12:53 -0700)]
Improve file(1)'s ELF support.

Read any PT_NOTE sections to look for NT_GNU_BUILD_ID or Android API
level notes. I deliberately didn't NT_GNU_ABI_TAG because it's noisy --
every Linux executable has one -- but not something most command-line
users will have any use for. (And you can ask readelf(1) anyway.)

Also read the section headers to implement "stripped"/"not stripped".

This patch removes "uses %d libs" because it was actually just counting
dynamic sections in the ELF file, and there are only 0 or 1 of those in
a valid ELF flie. (If you really want this functionality, you have to
*parse* the dynamic section looking for the DT_NEEDED entries. But that's
more of a job for readelf(1) than file(1).)

7 years agoPromote netsat, and move ifconfig, netcat, and rfkill to new toys/net directory.
Rob Landley [Sun, 3 Jul 2016 21:05:12 +0000 (16:05 -0500)]
Promote netsat, and move ifconfig, netcat, and rfkill to new toys/net directory.

7 years agoMore netstat cleanup (inline display_data)
Rob Landley [Sun, 3 Jul 2016 20:51:00 +0000 (15:51 -0500)]
More netstat cleanup (inline display_data)

7 years agoNext round of netstat cleanup.
Rob Landley [Sat, 2 Jul 2016 16:42:36 +0000 (11:42 -0500)]
Next round of netstat cleanup.

7 years agoAdd patch -d and --dry-run
Rob Landley [Fri, 1 Jul 2016 01:48:22 +0000 (20:48 -0500)]
Add patch -d and --dry-run

7 years agoFix option parsing infrastructure bug.
Rob Landley [Fri, 1 Jul 2016 01:41:07 +0000 (20:41 -0500)]
Fix option parsing infrastructure bug.

In main.c: used adjusted string with placeholers for removed options (so flag
values don't move based on config, allowing FORCE_FLAGS to work).

In scripts/mkflags.c: test was wrong, a bare longopt never matches a single
letter command, but it was treated as always matching when comparing
allyesconfig vs current config to determine which options were disabled, so
there was a corner case that got the flag values wrong.

7 years agoTeach wc to do -cm together. Fix testsuite so TEST_HOST passes too.
Rob Landley [Thu, 30 Jun 2016 15:39:41 +0000 (10:39 -0500)]
Teach wc to do -cm together. Fix testsuite so TEST_HOST passes too.

7 years agoAdd NOSPACE=1 to allow tests to pass with diff -b
Rob Landley [Thu, 30 Jun 2016 15:39:23 +0000 (10:39 -0500)]
Add NOSPACE=1 to allow tests to pass with diff -b

7 years agoUse libbuf instead of stack buffer.
Rob Landley [Thu, 30 Jun 2016 15:37:35 +0000 (10:37 -0500)]
Use libbuf instead of stack buffer.

7 years agoRemove unused argument from do_lines()
Rob Landley [Wed, 29 Jun 2016 22:51:03 +0000 (17:51 -0500)]
Remove unused argument from do_lines()

7 years agoRemove 'start' and 'stop' from the Android roadmap.
Elliott Hughes [Wed, 29 Jun 2016 20:57:30 +0000 (13:57 -0700)]
Remove 'start' and 'stop' from the Android roadmap.

7 years agoUpdate Android section of roadmap.
Elliott Hughes [Fri, 24 Jun 2016 16:37:59 +0000 (09:37 -0700)]
Update Android section of roadmap.

nandread was MTD-only, and we don't support MTD any more.

7 years agoFix iteration for start/stop without arguments.
Elliott Hughes [Mon, 27 Jun 2016 21:51:18 +0000 (14:51 -0700)]
Fix iteration for start/stop without arguments.

7 years agoFix a "may be used uninitialized".
Rob Landley [Tue, 28 Jun 2016 06:54:01 +0000 (01:54 -0500)]
Fix a "may be used uninitialized".

7 years agoFix start.c build and add error reporting.
Elliott Hughes [Mon, 27 Jun 2016 15:26:03 +0000 (08:26 -0700)]
Fix start.c build and add error reporting.

7 years agoCode style pass.
Rob Landley [Sat, 25 Jun 2016 19:57:39 +0000 (14:57 -0500)]
Code style pass.

7 years agonew Android toys: start/stop
Elliott Hughes [Sat, 25 Jun 2016 19:21:35 +0000 (14:21 -0500)]
new Android toys: start/stop

7 years agoUpdate Android section of roadmap.
Elliott Hughes [Wed, 22 Jun 2016 22:55:35 +0000 (15:55 -0700)]
Update Android section of roadmap.

top switched over a week or two back, and log switched today.

7 years agoRemove android/log's "default" priority.
Elliott Hughes [Wed, 22 Jun 2016 22:50:51 +0000 (15:50 -0700)]
Remove android/log's "default" priority.

It turns out that "default" goes nowhere. Whereas "silent" actually shows
up in the log. So document "silent" (which we already supported) but
remove support for "default".

Also make the spacing between levels in the help more regular; it looks
weird being in columns when there's only one row!

7 years agoAttempt at cleanup of log.c, but I don't have a build environment for it so...
Rob Landley [Tue, 21 Jun 2016 21:10:49 +0000 (16:10 -0500)]
Attempt at cleanup of log.c, but I don't have a build environment for it so...

7 years agonew Android toy: log
Elliott Hughes [Tue, 21 Jun 2016 20:32:42 +0000 (15:32 -0500)]
new Android toy: log

7 years agoLast commit depends on new lib code I forgot to check in. (Oops.)
Rob Landley [Sun, 19 Jun 2016 12:07:44 +0000 (07:07 -0500)]
Last commit depends on new lib code I forgot to check in. (Oops.)

7 years agoNext round of diffstat cleanup.
Rob Landley [Sun, 19 Jun 2016 12:07:15 +0000 (07:07 -0500)]
Next round of diffstat cleanup.

7 years agoMake it clearer that CMD is the thread name.
Elliott Hughes [Fri, 17 Jun 2016 22:51:25 +0000 (15:51 -0700)]
Make it clearer that CMD is the thread name.

It should come as no surprise to those who followed the development of
this that it's not well known which of the various names is actually the
thread name. Adding "thread" to the ps --help output seems like a good
idea.

I'm also assuming that "stat2" was meant to read "stat[2]", since that's
how it mostly appeared on the list while discussing this. Still fits in
80 columns.

7 years agoAdd readlink0() and readlinkat0() which null terminate the data.
Rob Landley [Wed, 15 Jun 2016 20:47:01 +0000 (15:47 -0500)]
Add readlink0() and readlinkat0() which null terminate the data.

7 years agoThe glibc bug at https://sourceware.org/bugzilla/show_bug.cgi?id=17829
Rob Landley [Wed, 15 Jun 2016 16:43:48 +0000 (11:43 -0500)]
The glibc bug at https://sourceware.org/bugzilla/show_bug.cgi?id=17829
continues to get worse, and now can't handle INT_MAX/2 either. So our
first workaround _also_ broke.

But posix says "A negative precision is taken as if the precision were
omitted." and that _doesn't_ trigger the glibc bug, so use that instead.

7 years agoLots of netstat cleanup, including a rewrite of the unix domain socket output.
Rob Landley [Sun, 12 Jun 2016 08:35:57 +0000 (03:35 -0500)]
Lots of netstat cleanup, including a rewrite of the unix domain socket output.
(Ubuntu's netstat is left justifying the inode field, and they're wrong.)

7 years agoFinish switching to dev_major/dev_minor.
Elliott Hughes [Sun, 12 Jun 2016 05:00:54 +0000 (22:00 -0700)]
Finish switching to dev_major/dev_minor.

7ca5dc4232b9ac5ee5cd25c8b5b33a58904cd251 didn't switch all callers over
to the new functions.

7 years agoMissing parentheses. (Oops.)
Rob Landley [Sat, 11 Jun 2016 00:00:25 +0000 (19:00 -0500)]
Missing parentheses. (Oops.)

7 years agoFix trailing whitespace bug in netstat.
Elliott Hughes [Fri, 10 Jun 2016 16:08:33 +0000 (09:08 -0700)]
Fix trailing whitespace bug in netstat.

Spotted while trying to diff netstat -nt against toybox netstat -nt.

7 years agoxreadlink() only exits for memory allocation, it returns 0 if file not found.
Rob Landley [Fri, 10 Jun 2016 23:54:10 +0000 (18:54 -0500)]
xreadlink() only exits for memory allocation, it returns 0 if file not found.

(I forget who reported this bug, wasn't me.)

7 years agoUpdate Android roadmap section.
Elliott Hughes [Mon, 6 Jun 2016 22:41:39 +0000 (15:41 -0700)]
Update Android roadmap section.

We killed toolbox ioctl and wouldn't build a toybox one anyway.

Also admit that -- although toybox has a grep -- we're not actually using
it yet (and why we're not).

7 years agoShuffle arguments around (TNAME->NAME->COMM->CMD), working around posix
Rob Landley [Fri, 10 Jun 2016 23:37:41 +0000 (18:37 -0500)]
Shuffle arguments around (TNAME->NAME->COMM->CMD), working around posix
constraints while still trying to get sane behavior. Discard the old CMD,
move COMM to CMD, move the old NAME to COMM, and move TNAME to NAME.

Posix assumes argv[] is the only source of process name data, but Linux has
three sources (/proc/$PID/cmdline, /proc/$PID/exe, /proc/$PID/stat field 2)
and android uses multiple sources simultaneously to identify its processes
and threads.

Toybox ps also assumes that the field names displayed in the headers
can be fed to -o to get that output, which is an assumption posix's
ps spec clearly does not have. Before we were erring on the side of posix,
now we're erring on the side of sanity.

CMD now shows stat[2], all the time. The posix -f behavior change is now
just an ARGS=CMD alias in the -f default command line, which -o overrides.
(Before -f changed the behavior of -o CMD, which is closer to what
posix says but is _insane_ and we've stopped doing it.)

COMM now shows /proc/$PID/exe minus the path. (I'm aware posix says argv[0]
here, but it says argv everywhere.)

NAME is now argv[0] of $PID.

TNAME went away.

Both $COMM and $NAME show the data for $PID, which is a thread's parent
process when $TID != $PID.

7 years agoRevert commit e02e41373ea3, we're always initializing the TNAME string
Rob Landley [Fri, 10 Jun 2016 22:58:56 +0000 (17:58 -0500)]
Revert commit e02e41373ea3, we're always initializing the TNAME string
field (that's the ptb/tb switching in get_ps) so it's never blank, so
this doesn't trigger. (Conditionally initializing it would save runtime
memory, but at the expense of more complex code.)

7 years agoHACK: restore Android ps behavior.
Elliott Hughes [Thu, 9 Jun 2016 00:03:26 +0000 (17:03 -0700)]
HACK: restore Android ps behavior.

"NAME" is no longer doing what we want; "TNAME" is what "NAME" used to be,
except that "TNAME" implies -T. This patch switches us over to "TNAME",
disables the implicit -T.

Change-Id: I5553703d3939b24eaf39976162d2f75a591e1ce8

7 years agoFix dangling link after cp command
Kyungsik Lee [Thu, 9 Jun 2016 09:36:34 +0000 (18:36 +0900)]
Fix dangling link after cp command

"toybuf" should be initialized before calling symlinkat() or
dangling link could occur.

7 years agoFix ps bug, last field wasn't expanding to width.
Rob Landley [Thu, 9 Jun 2016 03:53:51 +0000 (22:53 -0500)]
Fix ps bug, last field wasn't expanding to width.

(Still fixing the fallout from that "Don't truncate number fields" logic rewrite.)

7 years agoChange the TNAME behavior to "Show parent argv[0]. If that's blank, showour argv...
Rob Landley [Thu, 9 Jun 2016 01:30:08 +0000 (20:30 -0500)]
Change the TNAME behavior to "Show parent argv[0]. If that's blank, showour argv[0]. If that's blank, show [stat2]."

That way threads show their parents, parents show themselves, and
kernel threads show the [stat2] name.

7 years agoIzabera pointed out that cmp -ls are contradictory.
Rob Landley [Tue, 7 Jun 2016 23:16:25 +0000 (18:16 -0500)]
Izabera pointed out that cmp -ls are contradictory.

7 years agoFix TOYBOX_VERSION
Paul Barker [Sat, 4 Jun 2016 14:05:49 +0000 (15:05 +0100)]
Fix TOYBOX_VERSION

The latest tagged version is 0.7.1.

7 years agoBasic success/failure return from pgrep/pkill.
Elliott Hughes [Sat, 4 Jun 2016 16:26:14 +0000 (09:26 -0700)]
Basic success/failure return from pgrep/pkill.

The man page says they also return 2 for syntax errors and 3 for "fatal
error: out of memory etc", but I don't know how to implement that and
don't need it (or have any reason to believe anyone needs it).

Bug: 29092208

7 years agops: Show [stat2] for any otherwise blank process name field, expand TNAME to 27,
Rob Landley [Sat, 4 Jun 2016 19:36:39 +0000 (14:36 -0500)]
ps: Show [stat2] for any otherwise blank process name field, expand TNAME to 27,
use generated constant for stat field parsing loop.

7 years agoIn cp -a, don't complain if non-root user can't chown, failure is expected.
Rob Landley [Tue, 31 May 2016 22:33:23 +0000 (17:33 -0500)]
In cp -a, don't complain if non-root user can't chown, failure is expected.

7 years agoAdd output path to cp error message filenames.
Rob Landley [Mon, 30 May 2016 18:43:17 +0000 (13:43 -0500)]
Add output path to cp error message filenames.