| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
* Don't change the umask; the library now ignores the umask if
you set EXTRACT_PERM
* Set the EXTRACT_ACL and EXTRACT_FFLAGS bits (used to be
controlled by EXTRACT_PERM).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add --null option (sort #defines here)
* Add process_lines function to util.c that reads newline-terminated
or null-terminated lines (with self-sizing buffers, etc) and iteratively
invokes a provided function. Use this to dramatically simplify:
-T handling for -c, --exclude-from-file, and --include-from-file.
* Add -T handling to -x (via include_from_file)
Hopefully, this will fix the openoffice port and a couple of
others that rely on -T and --null.
|
|
|
|
| |
While I'm here, add in a lot more error-checking around append_archive.
|
|
|
|
|
|
| |
Instead, display a warning, clean up, and let main() return the error.
In particular, this means that chdir() problems won't leave broken
archives, though they will prompt an error exit value.
|
|
|
|
| |
Also correct an old error: there was no tar command in Sixth Edition.
|
|
|
|
|
|
|
| |
This requires some non-trivial surgery to the options parsing.
While here, let people who only have getopt() access long options
through the -W longopt=value convention.
|
|
|
|
| |
Thanks to: Kris Kennaway for doing some gtar research for me.
|
|
|
|
|
|
|
| |
gtar, so that makes it easy to implement.
Required by: audio/timidity port
Thanks to: Kris Kennaway
|
|
|
|
| |
(gtar-compatible) one does require an argument.
|
| |
|
| |
|
|
|
|
|
| |
something else. I would really like a short option for
this, but all of the obvious ones conflict with something else.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Usage goes to stderr, not stdout
* Use correct argument markup
* bsdtar --help no longer exits with an error return code
* ensure that the word "bsdtar" appears in the first
line output from "bsdtar --help" (even if the program is
invoked as "tar")
In particular, scripts can now test for the presence of bsdtar.
For example, in /bin/sh:
if (tar --help 2>&1 | grep bsdtar >/dev/null 2>&1) then \
echo bsdtar; else echo not bsdtar; fi
|
|
|
|
|
| |
Pointed out by: devel/nspr port
Thanks to: Kris Kennaway
|
|
|
|
|
|
|
| |
creating an archive.
Pointed out by: Failure to complain when building certain broken packages
(Thanks again to Kris Kennaway for finding this!)
|
|
|
|
|
|
|
|
|
|
| |
an existing symlink (as might happen if you extract an archive twice).
Also, if we remove the offending link, then we've removed the problem
and can safely go forward with the extraction.
Pointed out by: print/adobe-cmaps port (whose distfile has
duplicate entries for the same symlinks)
Thanks to: Kris Kennaway (for using ports as a testbed for bsdtar)
|
|
|
|
|
|
|
|
|
| |
--exclude='pattern'.
I should have added this a long time ago, since it's so useful for testing.
In particular, it allows me to select a few entries from a troublesome
archive so that I can easily focus my debugging efforts:
bsdtar -czf new.tgz --include='*foo*' @old.tgz
|
|
|
|
|
| |
It is, in fact, perfectly legal to not specify a compression when
writing an archive. <sigh>
|
| |
|
|
|
|
| |
Pointed out by: njl, des.
|
| |
|
|
|
|
|
|
| |
* --help produces long help message on systems with getopt_long
* -h with no other options also produces long help message
(If a mode is specified, -h has its usual meaning.)
|
|
|
|
|
|
| |
trailing '/' characters on include patterns for extraction.
Pointed out by: games/quakeforge port (thanks to Kris!)
|
|
|
|
| |
(as specified by Linux Standards Base, GNU tar, and 4.4BSD documentation)
|
|
|
|
| |
recognizes and decompresses .Z format.
|
|
|
|
|
|
|
|
| |
* Move format/compression reporting to end of output, since
we don't always know the input format until then.
* Set bsdtar exit value to 1 if any file could not be restored.
* Generate gtar-style warning when stripping leading '/' characters.
* Warn when removing symlinks.
|
| |
|
|
|
|
|
|
|
| |
Note that bsdtar's -o (which follows SUSv2) is not the same as GNU tar's -o.
In GNU tar, -o and --no-same-owner are not synonyms.
Pointed out by: Kris Kennaway (required by xpenguins port)
|
|
|
|
| |
Pointed out by: Kris Kennaway (unbreaks nspr port build)
|
| |
|
| |
|
|
|
|
| |
needs it, but it does no harm for people to specify it.
|
|
|
|
| |
messages will be displayed only when there is, in fact, an error.
|
|
|
|
| |
blocks at a time, rather than using putc().
|
|
|
|
| |
Move global progname variable into struct bsdtar.
|
|
|
|
|
| |
gname_cache. Cache negative lookups to dramatically improve performance
building archives containing nonexistent uid/gid.
|
|
|
|
|
|
| |
* Remove terminal symlinks so they can be replaced.
* If -U, remove intermediate symlinks as well
* Otherwise, refuse the extraction
|
| |
|
|
|
|
| |
Make indentation of tar_longopts array more consistent.
|
|
|
|
| |
even though POSIX requires it. <sigh>
|
|
|
|
|
|
|
| |
systems. The fts.h here is an exact copy of include/fts.h (except for
an initial explanatory comment and the revision tags, of course). The
fts.c here is slightly modified from lib/libc/gen/fts.c so it can
compile correctly on non-FreeBSD systems.
|
| |
|
|
|
|
|
| |
Thanks to: Juergen Lock for his continuing patience
while I botch his patches.
|
| |
|
|
|
|
|
| |
(fflags support on Linux, nanosecond timestamp portability, enable
64-bit file offsets)
|
|
|
|
|
|
|
|
| |
directory, then a file with that symlink as a prefix can drop a file
outside of the current directory, which can be a security hole.
Plug this hole by refusing to extract files if a prefix of the
pathname is a symlink. The -P option disables this check.
|
|
|
|
| |
now libarchive actually supports the underlying request.)
|