New options:
-1 Disable columnizing.
-c Sort by file status change time.
-C Column directory entries.
-h Show file sizes with magnitude suffixes such as 42.3K.
-r Sort entries in the opposite order.
-R Recursively list directory contents.
-S Sort by file size in decreasing order.
-u Sort by access time.
--color=always|auto|never
Control whether colorizing is enabled.
The output is now natively columnized instead of running a column(1)
subprocess. Multiple operands are now implemented correctly (directory
contents are columned separately rather than their concatenation, the name
of each directory is printed prior to its content, ...). The file owner and
group names are now shown rather than a hard-coded root. Long listings are
now properly aligned. Mixing file and directory operands works correctly
now. Columnizing is now vertical rather than across. Clean up the source
code and remove cruft. Stat information on directory entries are read once
only now, which which fixes an incosistent sort race condition when sorting
according to lstat. Move to the openat paradigm.
This removes the ability to override standard shell utilities using
environment variables. The standard names are invoked unconditionally and
can be overridden using the standard approach of adding replacements to the
PATH. Additionally environment variables like PREFIX and HOST are no longer
honored as defaults for the --prefix and --host options. These features are
removed because they've never been used and cause more trouble than they
are worth.
The tix collection option now defaults to the root directory to simplify
common invocations. The tix-build prefix also now defaults to the empty
prefix.
Support installing multiple packages at once with tix-install.
Tighten file and directory creation modes while here.
Add --generation for forward compatibility.
Silence tix-collection creation.
Fix uninitialized getline invocations.
Fix porttix-create buffer overflow.
Enable the NX bit on x86_64 and set if not PROT_EXEC and enable the write
protection mode (CR0.WP) that disables the default behavior where the kernel
is able to write to read-only memory. Fix kernel broken assumptions it can
access read-only memory and take care to never set PROT_KWRITE on user-space
pages unless PROT_WRITE is also set, otherwise user-space will be able to
write to read-only memory.
This achieves X^W in the whole system except for the core kernel itself as
it is currently don't know the purpose of pages when identity mapping the
first 4 MiB.