Trailing whitespace removal over entire tree
This commit is contained in:
@@ -82,7 +82,7 @@ have additions to this FAQ document, we would love to add them,
|
||||
to determine which applet to run, as shown above.
|
||||
</p>
|
||||
<p>
|
||||
BusyBox also has a feature called the
|
||||
BusyBox also has a feature called the
|
||||
<a name="standalone_shell">"standalone shell"</a>, where the busybox
|
||||
shell runs any built-in applets before checking the command path. This
|
||||
feature is also enabled by "make allyesconfig", and to try it out run
|
||||
@@ -261,7 +261,7 @@ within each applet. More build coverage testing.</p></li>
|
||||
|
||||
<hr />
|
||||
<p>
|
||||
<h2><a name="external">where can i find other small utilities since busybox
|
||||
<h2><a name="external">where can i find other small utilities since busybox
|
||||
does not include the features i want?</a></h2>
|
||||
<p>
|
||||
we maintain such a <a href="tinyutils.html">list</a> on this site!
|
||||
@@ -941,7 +941,7 @@ text console scrolling...)</p>
|
||||
|
||||
<p>So will data always be read from the far end of a pipe at the
|
||||
same chunk sizes it was written in? Nope. Don't rely on that. For one
|
||||
counterexample, see <a href="http://www.faqs.org/rfcs/rfc896.html">rfc 896
|
||||
counterexample, see <a href="http://www.faqs.org/rfcs/rfc896.html">rfc 896
|
||||
for Nagle's algorithm</a>, which waits a fraction of a second or so before
|
||||
sending out small amounts of data through a TCP/IP connection in case more
|
||||
data comes in that can be merged into the same packet. (In case you were
|
||||
@@ -1089,7 +1089,7 @@ aaronl :Aaron Lehmann
|
||||
beppu :John Beppu
|
||||
dwhedon :David Whedon
|
||||
erik :Erik Andersen
|
||||
gfeldman :Gennady Feldman
|
||||
gfeldman :Gennady Feldman
|
||||
jimg :Jim Gleason
|
||||
kraai :Matt Kraai
|
||||
markw :Mark Whitley
|
||||
|
@@ -28,7 +28,7 @@
|
||||
<li>grep: added -r, fixed -h
|
||||
<li>watch: make it exec child like standard one does (was totally
|
||||
incompatible)
|
||||
<li>tar: fix limitations which were preventing bbox tar usage
|
||||
<li>tar: fix limitations which were preventing bbox tar usage
|
||||
on big directories: long names and linknames, pax headers
|
||||
(Linux kernel tarballs have that). Fixed a number of obscure bugs.
|
||||
Raised max file limit (now 64Gb). Security fixes (/../ attacks).
|
||||
|
@@ -40,7 +40,7 @@ scripts using <code>Control-C</code>. Or have interactive applications
|
||||
that don't behave right when sending SIGINT. Examples are emacs'es
|
||||
that die on Control-g or shellscript statements that sometimes are
|
||||
executed and sometimes not, apparently not determined by the user's
|
||||
intention.
|
||||
intention.
|
||||
|
||||
|
||||
</td></tr><tr><th valign=top align=left>Required knowledge: </th>
|
||||
@@ -101,7 +101,7 @@ just exit.
|
||||
|
||||
<p>Now imagine the user hits C-c while a shellscript is executing its
|
||||
first program. The following programs receive SIGINT: program1 and
|
||||
also the shell executing the script. program1 exits.
|
||||
also the shell executing the script. program1 exits.
|
||||
|
||||
<p>But what should the shell do? If we say that it is only the
|
||||
innermost's programs business to react on SIGINT, the shell will do
|
||||
@@ -351,7 +351,7 @@ that do not properly communicate the required information up to the
|
||||
calling program.
|
||||
|
||||
<p>Unless a program messes with signal handling, the system does this
|
||||
automatically.
|
||||
automatically.
|
||||
|
||||
<p>There are programs that want to exit on SIGINT, but they don't let
|
||||
the system do the automatic exit, because they want to do some
|
||||
@@ -425,7 +425,7 @@ Notes:
|
||||
special numeric value. People often assume this since the manuals for
|
||||
shells often list some return value for exactly this. But this is just
|
||||
a convention for your shell script. It does not work from one UNIX API
|
||||
program to another.
|
||||
program to another.
|
||||
|
||||
<P>All that happens is that the shell sets the "$?" variable to a
|
||||
special numeric value for the convenience of your script, because your
|
||||
@@ -571,7 +571,7 @@ comments the scripts echo.
|
||||
<tr valign=top align=left>
|
||||
<td>IUE</td>
|
||||
<td>The shell executing a script exits immediately if it receives
|
||||
SIGINT.</td>
|
||||
SIGINT.</td>
|
||||
<td>4.4BSD ash (ash), NetBSD, FreeBSD prior to 3.0/22.8</td>
|
||||
<td>The editor session is lost and subsequent commands are not
|
||||
executed.</td>
|
||||
@@ -605,7 +605,7 @@ will further commands from the script be executed. </td>
|
||||
signal (either it had the default handler for SIGINT or it killed
|
||||
itself). </td>
|
||||
<td>bash (Linux /bin/sh), most commercial /bin/sh, FreeBSD /bin/sh
|
||||
from 3.0/2.2.8.</td>
|
||||
from 3.0/2.2.8.</td>
|
||||
<td>The editor continues as normal and subsequent commands are
|
||||
executed. </td>
|
||||
<td>The editor continues as normal and subsequent commands are
|
||||
@@ -615,7 +615,7 @@ child exits, but only if the child exited with signal status. If
|
||||
the child did a normal exit (even if it received SIGINT, but catches
|
||||
it), the script will continue. </td>
|
||||
<td>The child must be implemented right, or the user will not be able
|
||||
to break shell scripts reliably.</td>
|
||||
to break shell scripts reliably.</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
232
docs/tar_pax.txt
232
docs/tar_pax.txt
@@ -4,197 +4,197 @@ for everything (filename, uid, filesize etc) which can overflow.
|
||||
|
||||
pax Header Block
|
||||
|
||||
The pax header block shall be identical to the ustar header block
|
||||
described in ustar Interchange Format, except that two additional
|
||||
The pax header block shall be identical to the ustar header block
|
||||
described in ustar Interchange Format, except that two additional
|
||||
typeflag values are defined:
|
||||
|
||||
x
|
||||
Represents extended header records for the following file in
|
||||
Represents extended header records for the following file in
|
||||
the archive (which shall have its own ustar header block).
|
||||
|
||||
g
|
||||
Represents global extended header records for the following
|
||||
files in the archive. Each value shall affect all subsequent files
|
||||
that do not override that value in their own extended header
|
||||
record and until another global extended header record is reached
|
||||
that provides another value for the same field. The typeflag g
|
||||
global headers should not be used with interchange media that
|
||||
Represents global extended header records for the following
|
||||
files in the archive. Each value shall affect all subsequent files
|
||||
that do not override that value in their own extended header
|
||||
record and until another global extended header record is reached
|
||||
that provides another value for the same field. The typeflag g
|
||||
global headers should not be used with interchange media that
|
||||
could suffer partial data loss in transporting the archive.
|
||||
|
||||
For both of these types, the size field shall be the size of the
|
||||
extended header records in octets. The other fields in the header
|
||||
block are not meaningful to this version of the pax utility.
|
||||
However, if this archive is read by a pax utility conforming to
|
||||
the ISO POSIX-2:1993 standard, the header block fields are used to
|
||||
create a regular file that contains the extended header records as
|
||||
data. Therefore, header block field values should be selected to
|
||||
For both of these types, the size field shall be the size of the
|
||||
extended header records in octets. The other fields in the header
|
||||
block are not meaningful to this version of the pax utility.
|
||||
However, if this archive is read by a pax utility conforming to
|
||||
the ISO POSIX-2:1993 standard, the header block fields are used to
|
||||
create a regular file that contains the extended header records as
|
||||
data. Therefore, header block field values should be selected to
|
||||
provide reasonable file access to this regular file.
|
||||
|
||||
A further difference from the ustar header block is that data
|
||||
blocks for files of typeflag 1 (the digit one) (hard link) may be
|
||||
included, which means that the size field may be greater than
|
||||
A further difference from the ustar header block is that data
|
||||
blocks for files of typeflag 1 (the digit one) (hard link) may be
|
||||
included, which means that the size field may be greater than
|
||||
zero.
|
||||
|
||||
pax Extended Header
|
||||
|
||||
An extended header shall consist of one or more records, each
|
||||
An extended header shall consist of one or more records, each
|
||||
constructed as follows:
|
||||
|
||||
"%d %s=%s\n", <length>, <keyword>, <value>
|
||||
|
||||
The <length> field shall be the decimal length of the extended
|
||||
header record in octets, including length string itself and the
|
||||
The <length> field shall be the decimal length of the extended
|
||||
header record in octets, including length string itself and the
|
||||
trailing <newline>.
|
||||
|
||||
[skip]
|
||||
|
||||
atime
|
||||
The file access time for the following file(s), equivalent to
|
||||
the value of the st_atime member of the stat structure for a file,
|
||||
as described by the stat() function. The access time shall be
|
||||
restored if the process has the appropriate privilege required to
|
||||
do so. The format of the <value> shall be as described in pax
|
||||
The file access time for the following file(s), equivalent to
|
||||
the value of the st_atime member of the stat structure for a file,
|
||||
as described by the stat() function. The access time shall be
|
||||
restored if the process has the appropriate privilege required to
|
||||
do so. The format of the <value> shall be as described in pax
|
||||
Extended Header File Times.
|
||||
|
||||
charset
|
||||
The name of the character set used to encode the data in the
|
||||
The name of the character set used to encode the data in the
|
||||
following file(s).
|
||||
|
||||
The encoding is included in an extended header for information
|
||||
only; when pax is used as described in IEEE Std 1003.1-2001, it
|
||||
shall not translate the file data into any other encoding. The
|
||||
The encoding is included in an extended header for information
|
||||
only; when pax is used as described in IEEE Std 1003.1-2001, it
|
||||
shall not translate the file data into any other encoding. The
|
||||
BINARY entry indicates unencoded binary data.
|
||||
|
||||
When used in write or copy mode, it is implementation-defined
|
||||
When used in write or copy mode, it is implementation-defined
|
||||
whether pax includes a charset extended header record for a file.
|
||||
|
||||
comment
|
||||
A series of characters used as a comment. All characters in
|
||||
A series of characters used as a comment. All characters in
|
||||
the <value> field shall be ignored by pax.
|
||||
|
||||
gid
|
||||
The group ID of the group that owns the file, expressed as a
|
||||
decimal number using digits from the ISO/IEC 646:1991 standard.
|
||||
This record shall override the gid field in the following header
|
||||
block(s). When used in write or copy mode, pax shall include a gid
|
||||
extended header record for each file whose group ID is greater
|
||||
The group ID of the group that owns the file, expressed as a
|
||||
decimal number using digits from the ISO/IEC 646:1991 standard.
|
||||
This record shall override the gid field in the following header
|
||||
block(s). When used in write or copy mode, pax shall include a gid
|
||||
extended header record for each file whose group ID is greater
|
||||
than 2097151 (octal 7777777).
|
||||
|
||||
gname
|
||||
The group of the file(s), formatted as a group name in the
|
||||
group database. This record shall override the gid and gname
|
||||
fields in the following header block(s), and any gid extended
|
||||
header record. When used in read, copy, or list mode, pax shall
|
||||
translate the name from the UTF-8 encoding in the header record to
|
||||
the character set appropriate for the group database on the
|
||||
receiving system. If any of the UTF-8 characters cannot be
|
||||
translated, and if the -o invalid= UTF-8 option is not specified,
|
||||
the results are implementation-defined. When used in write or copy
|
||||
mode, pax shall include a gname extended header record for each
|
||||
file whose group name cannot be represented entirely with the
|
||||
The group of the file(s), formatted as a group name in the
|
||||
group database. This record shall override the gid and gname
|
||||
fields in the following header block(s), and any gid extended
|
||||
header record. When used in read, copy, or list mode, pax shall
|
||||
translate the name from the UTF-8 encoding in the header record to
|
||||
the character set appropriate for the group database on the
|
||||
receiving system. If any of the UTF-8 characters cannot be
|
||||
translated, and if the -o invalid= UTF-8 option is not specified,
|
||||
the results are implementation-defined. When used in write or copy
|
||||
mode, pax shall include a gname extended header record for each
|
||||
file whose group name cannot be represented entirely with the
|
||||
letters and digits of the portable character set.
|
||||
|
||||
linkpath
|
||||
The pathname of a link being created to another file, of any
|
||||
type, previously archived. This record shall override the linkname
|
||||
field in the following ustar header block(s). The following ustar
|
||||
header block shall determine the type of link created. If typeflag
|
||||
of the following header block is 1, it shall be a hard link. If
|
||||
typeflag is 2, it shall be a symbolic link and the linkpath value
|
||||
shall be the contents of the symbolic link. The pax utility shall
|
||||
translate the name of the link (contents of the symbolic link)
|
||||
from the UTF-8 encoding to the character set appropriate for the
|
||||
local file system. When used in write or copy mode, pax shall
|
||||
include a linkpath extended header record for each link whose
|
||||
pathname cannot be represented entirely with the members of the
|
||||
The pathname of a link being created to another file, of any
|
||||
type, previously archived. This record shall override the linkname
|
||||
field in the following ustar header block(s). The following ustar
|
||||
header block shall determine the type of link created. If typeflag
|
||||
of the following header block is 1, it shall be a hard link. If
|
||||
typeflag is 2, it shall be a symbolic link and the linkpath value
|
||||
shall be the contents of the symbolic link. The pax utility shall
|
||||
translate the name of the link (contents of the symbolic link)
|
||||
from the UTF-8 encoding to the character set appropriate for the
|
||||
local file system. When used in write or copy mode, pax shall
|
||||
include a linkpath extended header record for each link whose
|
||||
pathname cannot be represented entirely with the members of the
|
||||
portable character set other than NUL.
|
||||
|
||||
mtime
|
||||
The file modification time of the following file(s),
|
||||
equivalent to the value of the st_mtime member of the stat
|
||||
structure for a file, as described in the stat() function. This
|
||||
record shall override the mtime field in the following header
|
||||
block(s). The modification time shall be restored if the process
|
||||
has the appropriate privilege required to do so. The format of the
|
||||
The file modification time of the following file(s),
|
||||
equivalent to the value of the st_mtime member of the stat
|
||||
structure for a file, as described in the stat() function. This
|
||||
record shall override the mtime field in the following header
|
||||
block(s). The modification time shall be restored if the process
|
||||
has the appropriate privilege required to do so. The format of the
|
||||
<value> shall be as described in pax Extended Header File Times.
|
||||
|
||||
path
|
||||
The pathname of the following file(s). This record shall
|
||||
override the name and prefix fields in the following header
|
||||
block(s). The pax utility shall translate the pathname of the file
|
||||
from the UTF-8 encoding to the character set appropriate for the
|
||||
The pathname of the following file(s). This record shall
|
||||
override the name and prefix fields in the following header
|
||||
block(s). The pax utility shall translate the pathname of the file
|
||||
from the UTF-8 encoding to the character set appropriate for the
|
||||
local file system.
|
||||
|
||||
When used in write or copy mode, pax shall include a path
|
||||
extended header record for each file whose pathname cannot be
|
||||
represented entirely with the members of the portable character
|
||||
When used in write or copy mode, pax shall include a path
|
||||
extended header record for each file whose pathname cannot be
|
||||
represented entirely with the members of the portable character
|
||||
set other than NUL.
|
||||
|
||||
realtime.any
|
||||
The keywords prefixed by "realtime." are reserved for future
|
||||
The keywords prefixed by "realtime." are reserved for future
|
||||
standardization.
|
||||
|
||||
security.any
|
||||
The keywords prefixed by "security." are reserved for future
|
||||
The keywords prefixed by "security." are reserved for future
|
||||
standardization.
|
||||
|
||||
size
|
||||
The size of the file in octets, expressed as a decimal number
|
||||
using digits from the ISO/IEC 646:1991 standard. This record shall
|
||||
override the size field in the following header block(s). When
|
||||
used in write or copy mode, pax shall include a size extended
|
||||
header record for each file with a size value greater than
|
||||
The size of the file in octets, expressed as a decimal number
|
||||
using digits from the ISO/IEC 646:1991 standard. This record shall
|
||||
override the size field in the following header block(s). When
|
||||
used in write or copy mode, pax shall include a size extended
|
||||
header record for each file with a size value greater than
|
||||
8589934591 (octal 77777777777).
|
||||
|
||||
uid
|
||||
The user ID of the file owner, expressed as a decimal number
|
||||
using digits from the ISO/IEC 646:1991 standard. This record shall
|
||||
override the uid field in the following header block(s). When used
|
||||
in write or copy mode, pax shall include a uid extended header
|
||||
record for each file whose owner ID is greater than 2097151 (octal
|
||||
The user ID of the file owner, expressed as a decimal number
|
||||
using digits from the ISO/IEC 646:1991 standard. This record shall
|
||||
override the uid field in the following header block(s). When used
|
||||
in write or copy mode, pax shall include a uid extended header
|
||||
record for each file whose owner ID is greater than 2097151 (octal
|
||||
7777777).
|
||||
|
||||
uname
|
||||
The owner of the following file(s), formatted as a user name
|
||||
in the user database. This record shall override the uid and uname
|
||||
fields in the following header block(s), and any uid extended
|
||||
header record. When used in read, copy, or list mode, pax shall
|
||||
translate the name from the UTF-8 encoding in the header record to
|
||||
the character set appropriate for the user database on the
|
||||
receiving system. If any of the UTF-8 characters cannot be
|
||||
translated, and if the -o invalid= UTF-8 option is not specified,
|
||||
the results are implementation-defined. When used in write or copy
|
||||
mode, pax shall include a uname extended header record for each
|
||||
file whose user name cannot be represented entirely with the
|
||||
The owner of the following file(s), formatted as a user name
|
||||
in the user database. This record shall override the uid and uname
|
||||
fields in the following header block(s), and any uid extended
|
||||
header record. When used in read, copy, or list mode, pax shall
|
||||
translate the name from the UTF-8 encoding in the header record to
|
||||
the character set appropriate for the user database on the
|
||||
receiving system. If any of the UTF-8 characters cannot be
|
||||
translated, and if the -o invalid= UTF-8 option is not specified,
|
||||
the results are implementation-defined. When used in write or copy
|
||||
mode, pax shall include a uname extended header record for each
|
||||
file whose user name cannot be represented entirely with the
|
||||
letters and digits of the portable character set.
|
||||
|
||||
If the <value> field is zero length, it shall delete any header
|
||||
block field, previously entered extended header value, or global
|
||||
If the <value> field is zero length, it shall delete any header
|
||||
block field, previously entered extended header value, or global
|
||||
extended header value of the same name.
|
||||
|
||||
If a keyword in an extended header record (or in a -o
|
||||
option-argument) overrides or deletes a corresponding field in the
|
||||
ustar header block, pax shall ignore the contents of that header
|
||||
If a keyword in an extended header record (or in a -o
|
||||
option-argument) overrides or deletes a corresponding field in the
|
||||
ustar header block, pax shall ignore the contents of that header
|
||||
block field.
|
||||
|
||||
Unlike the ustar header block fields, NULs shall not delimit
|
||||
<value>s; all characters within the <value> field shall be
|
||||
considered data for the field. None of the length limitations of
|
||||
the ustar header block fields in ustar Header Block shall apply to
|
||||
Unlike the ustar header block fields, NULs shall not delimit
|
||||
<value>s; all characters within the <value> field shall be
|
||||
considered data for the field. None of the length limitations of
|
||||
the ustar header block fields in ustar Header Block shall apply to
|
||||
the extended header records.
|
||||
|
||||
pax Extended Header File Times
|
||||
|
||||
Time records shall be formatted as a decimal representation of the
|
||||
time in seconds since the Epoch. If a period ( '.' ) decimal point
|
||||
character is present, the digits to the right of the point shall
|
||||
represent the units of a subsecond timing granularity. In read or
|
||||
copy mode, the pax utility shall truncate the time of a file to
|
||||
the greatest value that is not greater than the input header
|
||||
file time. In write or copy mode, the pax utility shall output a
|
||||
time exactly if it can be represented exactly as a decimal number,
|
||||
and otherwise shall generate only enough digits so that the same
|
||||
time shall be recovered if the file is extracted on a system whose
|
||||
Time records shall be formatted as a decimal representation of the
|
||||
time in seconds since the Epoch. If a period ( '.' ) decimal point
|
||||
character is present, the digits to the right of the point shall
|
||||
represent the units of a subsecond timing granularity. In read or
|
||||
copy mode, the pax utility shall truncate the time of a file to
|
||||
the greatest value that is not greater than the input header
|
||||
file time. In write or copy mode, the pax utility shall output a
|
||||
time exactly if it can be represented exactly as a decimal number,
|
||||
and otherwise shall generate only enough digits so that the same
|
||||
time shall be recovered if the file is extracted on a system whose
|
||||
underlying implementation supports the same time granularity.
|
||||
|
||||
Example from Linux kernel archive tarball:
|
||||
|
Reference in New Issue
Block a user