Re: [Toybox] [PATCH] Auto-size df columns.

2015-10-22 Thread Rob Landley
On 10/21/2015 11:33 PM, enh wrote:
> Auto-size df columns.
> 
> On Android, the filesystem column is pretty wide. Actually measure the widths.
> 
> With this I'll switch AOSP over and we can see whether anyone
> notices/cares that toybox calls realpath(3) on this column.

FYI If you'd like to send me "git format-patch" patches I can apply with
"git am", I can do that. :)

Thanks (and applied),

Rob

P.S. I need to factor out the column measuring stuff into lib.
___
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net


Re: [Toybox] ps -t is cheating.

2015-10-22 Thread scsijon

On 10/22/2015 01:31 PM, Rob Landley wrote:



On 10/20/2015 12:43 AM, lamiaworks wrote:



Message: 1
Date: Mon, 19 Oct 2015 00:09:17 -0500
From: Rob Landley 
To: toybox@lists.landley.net
Subject: [Toybox] ps -t is cheating.
Message-ID: <56247afd.5050...@landley.net>
Content-Type: text/plain; charset=utf-8

So posix says this:

-t  termlist
Write information for processes associated with terminals given in
termlist. The application shall ensure that the termlist is a single
argument in the form of a  or -separated list. Terminal
identifiers shall be given in an implementation-defined format. [XSI]
[Option Start]  On XSI-conformant systems, they shall be given in one
of two forms: the device's filename (for example, tty04) or, if the
device's filename starts with tty, just the identifier following the
characters tty (for example, "04" ). [Option End]

And once again posix is somewhere back before the 1980's because
pseudo-terminals do not start with "/dev/tty". In the case of linux,
they've been /dev/pts/12 since, apparently, 1998.

The ps man page says:

-t ttylist
 Select by tty.  This selects the processes associated with the
 terminals given in ttylist.  Terminals (ttys, or screens for
 text output) can be specified in several forms: /dev/ttyS1,
 ttyS1, S1.  A plain "-" may be used to select processes not
 attached to any terminal.

Which is, once again, outright lying, because "-t 41" matches pts/41 but
-t 5 does _not_ match tty5. You have to say "-t tty5" to get the getty
instance on there.


You just brought an old nightmare back to the surface...

Try -t 05, if setup 'properly' you should get tty05 and that nowadays
should be equating to tty5's inode / character settings.


   $ ps -t 05
   error: TTY could not be found


with a little play I found that the /dev/ttyxx needs to exist first.

also to confuse, have a look at what's written at >

 http://linux.die.net/man/8/makedev

but that does bring some other nasty thoughts into it all

sorry rob

regards



Linux hasn't got a /dev/tty05. It's got a /dev/tty5. But what procps's
version of ps does (and thus what people are going to expect) is show
pts/5 for digits.

I checked in code that treats purely numeric "-t 1" as a request for
/dev/pts/1 instead of /dev/tty1. To get tty1 say "-t tty1".

I dunno about "right" behavior. I just know that posix is decades behind
what linux is actually _doing_...


My first Mainframes (1970's) had tty0 to ttyf for systems consoles I/O
ONLY, and tty00 to ttyff for user terminals.


That would be the decades behind part. :)


The problem was of course
cost for the extra user i/o cards so any tty above tty3 were often
assigned to users terminals and the relevant code 'fudged' to remove the
console level access and assign user inodes, which in turn fudged other
bits of codeet al...


Lovely.

I doubt android is providing any tty devices at all, with the possible
exception of an adb console, just pts devices to instances of the
"terminal" program. (Which isn't a default app on any of my phones yet,
but I live in hope that _someday_ I won't have to install a third party
app to get what seems to be built-in functionality.)

That said, the -t I checked in (yesterday?) is whitelisting specific
names, and if the adb terminal isn't among them I need to either stop
whitelisting (I worry that -t /dev/urandom or -t ../some/random/path
will somehow be exploitable, even though all I'm really doing is
stat-ing it) or add the new name...


Meanwhile procutils "ps -t pts/41" works as does "ps -t pts/../tty5"
which is just _creepy_ and I'm not doing that bit. And -tty S0 is of
course /dev/ttyS0 not /dev/pts/S0.

I pine for a spec that means something,


Which means I really should _write_ the documentation I wanted to read,
yet again. Write a properly detailed "this is what toybox implements" as
an actual spec in the model of posix. Then wave it at the android and
tizen guys and have them frown and disagree with bits of it. And of
course fill in the tests; I haven't done proper ps tests yet because the
values change, from PIDs to %cpu output, but _how_ to do so is pretty
straightforward. Finite list of command line options and -o selections...

Alas, my open source stuff is not my day job. (I get to do some of it on
the clock, but the past couple week's been debugging nommu toolchains
and such...) Going as fast as I can in the time I have...

Rob



___
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net


Re: [Toybox] [PATCH] Auto-size df columns.

2015-10-22 Thread enh
On Thu, Oct 22, 2015 at 4:38 PM, Rob Landley  wrote:
> On 10/21/2015 11:33 PM, enh wrote:
>> Auto-size df columns.
>>
>> On Android, the filesystem column is pretty wide. Actually measure the 
>> widths.
>>
>> With this I'll switch AOSP over and we can see whether anyone
>> notices/cares that toybox calls realpath(3) on this column.
>
> FYI If you'd like to send me "git format-patch" patches I can apply with
> "git am", I can do that. :)

will do.

> Thanks (and applied),
>
> Rob
>
> P.S. I need to factor out the column measuring stuff into lib.

yeah, i agree, but i thought you'd want to do that. that's why i
didn't bother about utf8 width like ls does; i'm assuming that'll fix
itself when this gets factored out. and in the meantime, no one i know
is using non-ASCII names for block devices :-)

-- 
Elliott Hughes - http://who/enh - http://jessies.org/~enh/
Android native code/tools questions? Mail me/drop by/add me as a reviewer.
___
Toybox mailing list
Toybox@lists.landley.net
http://lists.landley.net/listinfo.cgi/toybox-landley.net