| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Idea from: Theo de Raadt <deraadt@openbsd.org>
|
|
|
|
| |
builtins (e.g., exit, strcmp).
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
are:
* Implement cpio compatibility mode when pax is invoked as cpio
* Extend tar compatibility mode to cover many of the GNU tar single-letter
options (bzip2 mode, aka -y/-j is not present in OpenBSD). When
invoked as tar, pax is now full-featured enough for use by the ports
collection to extract distfiles and create packages.
* Many bug fixes to the operation of pax and the tar compatibility modes
* Code fixes for things like correct string buffer termination.
I tried to preserve existing FreeBSD fixes to this utility; please let me
know if I have inadvertently spammed something.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and compress) to pax when used in tar mode (invoked as 'tar') for
compatibility with GNU tar.
bzip2 functionality for further GNU tar compatibility will be added at a
later date.
Note in the manpage that -z is non-standard.
Obtained from: OpenBSD
Reviewed by: -hackers
MFC after: 2 weeks
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#if __STDC__ -> #ifdef __STDC__
pax_warn() -> paxwarn()
sys_warn() -> syswarn()
(foo *)NULL -> NULL
bcopy -> memmove()/memcpy()
bzero -> memset()
Typo fixes
sprintf() -> snprintf()
rindex() -> strrchr()
index() -> strchr()
sys_errlist[] -> strerror()
Obtained from: OpenBSD
|
|
|
|
|
| |
Obtained from: OpenBSD
Reviewed by: mikeh
|
|
|
|
|
|
| |
__printflike()/__printf0like() to function prototypes, as appropriate.
Reviewed by: bde, -audit
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
: LC_TIME This variable shall determine the format and
: contents of date and time strings when the -v
: option is specified.
Developers took this wrong. LC_TIME specifies the locale
name, not the ``format'' argument of strftime().
Oops:
pax -w -f /tmp/foo /dev/null
LC_TIME=de_DE.ISO_8859-1 pax -v -f /tmp/foo
|
| |
|
|
|
|
|
|
| |
Seperate does not exist in the english language.
Submitted to look at by: kris
|
| |
|
| |
|
| |
|
|
|
|
| |
unistd.h, which is already included.
|
| |
|
| |
|
|
|
|
|
| |
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
|
| |
|
|
|
|
| |
Submitted by: Philippe Charnier <charnier@xp11.frmug.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pattern matches will occur at offset zero of the source string. The bug causes
the input source string pointer to be incremented by the offset of the end of
the match, instead of it's length. The fix is to only increment the pointer by
the length of the pattern match (eo-so).
Of course, the one example in the man page shows a situation where the match
occurs at offset 0.
Submitted by: John W. DeBoskey <jwd@unx.sas.com>
Obtained from: freebsd-current@freebsd.org
|
|
|
|
|
|
|
| |
and dirnames of length 99 don't archive.
Submitted by: Wilfredo Sanchez <wsanchez@apple.com>
Obtained from: OpenBSD
|
|
|
|
|
| |
NUL at the end of the path.
Inspired by: OpenBSD's changes in this area by theo de raadt
|
|
|
|
|
| |
PR: 6801
Reviewed by: David Kelly <dkelly@hiwaay.net>
|
| |
|
|
|
|
| |
Use .An/.Aq
|
|
|
|
|
|
| |
in-place.
Obtained from: OpenBSD ar_subs.c rev 1.7 by Tood Miller <millert@openbsd.org)
|
|
|
|
|
| |
Reorder includes to be alphabetical some places since I already was in
here.
|
|
|
|
| |
Needed for ELF.
|
|
|
|
| |
Obtained from: {Net|Open}BSD
|
|
|
|
| |
posix standard on the topic.
|
| |
|
|
|
|
|
|
|
|
| |
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
|
| |
|
| |
|
|
|
|
| |
Add setlocale LC_TIME
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
oo
Turns out, it's pretty important if you use PAX for backup. In the man
page for PAX, there is an error (OK, we could call it a "potentially
catastrophic incompleteness"). It reads:
> The command:
>
> pax -r -v -f filename
>
> gives the verbose table of contents for an archive stored in filename.
Yup, it does do that. With a side effect: it also _replaces_ all the
files that come in from the archive. As is my custom, I did my
backup-validation real soon after the backup was written. Precisely
because I've seen the same sort of thing happen on other systems. So all
that file-restoring didn't do a lot of damage. Probably helped my
fragmentation somewhat (aha, an online defragger?) It did confuse one
hapless user, who lost an email message he _knew_ he hadn't deleted.
Apparently the system restored the file as of just before that critical
message came in.
The correct entry should read:
> The command:
>
> pax -v -f filename
>
> gives the verbose table of contents for an archive stored in filename.
Submitted by: John Beckett <jbeckett@southern.edu> via the BSDI mailing list
|
|
|
|
| |
which is no longer bogusly installed in /usr/include.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cpio/copyout.c:
Don't output a file if the major, minor or totality of its rdev would be
truncated. Print a message about the skipped files to stderr but don't
report the error in the exit status. cpio's abysmal error handling doesn't
allow continuing after an error, and the rdev checks had to be misplaced
to avoid the problem of returning an error code from routines that return
void.
pax/pax.h:
Use the system macros for major(), minor() and makedev().
pax already checks _all_ output conversions for overflow. This has the
undesirable effect that failure to convert relatively useless fields
such as st_dev for regular files causes files not to be output. pax
doesn't report exactly which fields couldn't be converted.
tar/create.c:
Don't output a file if the major or minor its rdev would be truncated.
Print a message about the skipped files to stderr and report the error
in the exit status.
tar/tar.c:
For not immediately fatal errors, exit with status 1, not the error count
(mod 256).
All:
Minor numbers are limited to 21 bits in pax's ustar format and to 18
bits in archives created by gnu tar (gnu tar wastes 3 bits for padding).
pax's and cpio's ustar format is incompatible with gnu tar's ustar
format for other reasons (see cpio/README).
|