Commit Graph

350 Commits

Author SHA1 Message Date
Glenn L McGrath
7ca04f328e New common unarchive code. 2002-09-25 02:47:48 +00:00
Glenn L McGrath
a0ee881ba4 Run through indent, use /* */ style comments, change extern to static 2002-08-22 13:44:08 +00:00
Aaron Lehmann
8fc5d6d2da Tar inlining, #if 0 out unused function 2002-08-21 13:11:34 +00:00
Robert Griebl
f2f26e7fdd Added tar -cz support (creating gzipped tar files without a gzip pipe) 2002-07-23 22:05:47 +00:00
Eric Andersen
1d1d2f9b18 Update some missing copyright notices 2002-04-13 08:31:59 +00:00
Glenn L McGrath
02a415606c Parse the include list to writeTarFile rather than argv, fixes a bug where tar files wernt being created. 2002-02-15 05:15:03 +00:00
Glenn L McGrath
8833a51781 Fix condition that prevented creation of compressed files 2002-02-13 03:32:11 +00:00
Matt Kraai
b75b6e2c35 * archival/tar.c (tar_main): Remove unused variable. 2002-01-08 16:03:41 +00:00
Matt Kraai
39fcb5a750 * archival/dpkg.c (create_list): Use chomp.
* archival/tar.c (append_file_list_to_list): Likewise.
2002-01-02 19:01:41 +00:00
Matt Kraai
1f0c43668a Remove == TRUE' tests and convert != TRUE' and `== FALSE' tests to use !. 2001-12-20 23:13:26 +00:00
Matt Kraai
31c73af656 Perform clean up only if CONFIG_FEATURE_CLEAN_UP is defined. 2001-12-20 22:30:14 +00:00
Matt Kraai
2b1effdbbc Write files when extracting an archive from standard input. 2001-12-20 22:09:31 +00:00
Eric Andersen
f3f9062ecf Things like 'tar -c /tmp/*' and 'tar -cO /tmp/*' where the output
filename was not explicitly specified were segfaulting.
 -Erik
2001-12-18 00:57:55 +00:00
Eric Andersen
9c6b5fcb0a Minor warning cleanups 2001-11-17 07:23:46 +00:00
Matt Kraai
9fb38f600c Eliminate unused variable warnings. 2001-11-12 16:45:23 +00:00
Eric Andersen
c265b17550 Wrap exclude_file() inside a #ifdef CONFIG_FEATURE_TAR_EXCLUDE block 2001-10-27 03:20:00 +00:00
Glenn L McGrath
ef0eab514d Recovering from my previous commit 2001-10-25 14:49:48 +00:00
Eric Andersen
bdfd0d78bc Major rework of the directory structure and the entire build system.
-Erik
2001-10-24 05:00:29 +00:00
Glenn L McGrath
4bef7b4186 unarchive function changed to support both exclude and include lists, applets that use unarchive changed to match. 2001-10-13 19:43:46 +00:00
Glenn L McGrath
051eee6ed3 Reverse part of previous change.... i think it was the wrong approach... im lost 2001-10-13 07:11:03 +00:00
Glenn L McGrath
d642a67928 Match subdirectories of included/excluded files 2001-10-13 06:54:45 +00:00
Glenn L McGrath
0e766183ee Superficial changes to make the exclude/include code easier to understand 2001-10-13 05:03:29 +00:00
Matt Kraai
f86bbfaddd Fix tar segfault when include list is empty and exclude list is not. 2001-10-12 19:00:15 +00:00
Glenn L McGrath
2e772edacf Change extraction/list code to use common unarchive code. 2001-10-05 02:58:48 +00:00
Matt Kraai
ac20ce1924 Canonicalize dirname(3) behavior. 2001-08-24 19:51:54 +00:00
Glenn L McGrath
b028e08d35 Move setvbuf calls from gz_open() to calling functions, setvbuf is only supposed to be called prior to opening the stream, glibc tolerates later use, uclibc doesnt. 2001-07-13 06:43:03 +00:00
Matt Kraai
5710f9f690 Read 20 512-byte blocks at a time (like GNU tar). 2001-07-10 15:05:39 +00:00
Matt Kraai
623cfa99e5 Remove a redundant call to mkdir. 2001-07-03 20:55:30 +00:00
Tim Riker
837097648e comment cleanup 2001-06-22 00:27:11 +00:00
Matt Kraai
ceeff73819 Rewrote mkdir (and touched lots of things in the process). 2001-06-21 19:41:37 +00:00
Eric Andersen
091781e20e Support tar -C, per bug #1176
-Erik
2001-06-21 19:30:10 +00:00
Eric Andersen
ea4abff595 Add in (and ignore) tar -p, since we preserver permissions automatically.
closes bug #1185
 -Erik
2001-06-21 15:17:59 +00:00
Eric Andersen
aff5e2eaef it turs out, there was a nasty tar bug where bb tar would create leading dirs
with mode 0777 in all cases due to usask issues.  Thanks to Matt Kraai for
noticing and spotting the culprit.  This makes bb tar behave just like GNU
tar once again.
 -Erik
2001-06-20 20:47:31 +00:00
Glenn L McGrath
8e74bf94f3 Changed gz_open to ruturn a stream 2001-06-20 07:54:15 +00:00
Eric Andersen
cb2a372c9f Revert the patch from Konstantin Boldyshev <konst@linuxassembly.org> to never
change permissions on existing directories.  This behavior is contrary to SUSv2
and contrary to GNU tar.  Thanks to Matt Kraai for pointing this out.  I should
have been much more careful about accepting such a patch.
 -Erik
2001-06-04 16:54:39 +00:00
Eric Andersen
77d9268892 Patch from larry to fix some grammar errors. 2001-05-23 20:32:09 +00:00
Matt Kraai
7f7348b7b2 Correctly remove leading slashes upon extraction (thanks to Marius Groeger). 2001-05-22 14:18:03 +00:00
Eric Andersen
a17b3631fe Do not ever change permissions on existing directories, only
on directories we created while extracting a tarball.  Fix
based on bug report and patch from Konstantin Boldyshev
<konst@linuxassembly.org>
 -Erik
2001-05-13 15:39:30 +00:00
Eric Andersen
28355a36da Per some comments from Lars Kellogg-Stedman <lars@larsshack.org>,
make xreadlink() return NULL on failure, and make sure everyone
uses the interface correctly.
 -Erik
2001-05-07 17:48:28 +00:00
Matt Kraai
e0244b0642 Skip headers with empty filenames, rather than stopping. 2001-05-01 21:12:31 +00:00
Mark Whitley
8a633268ef Made new xreadlink function for libbb and changed applets to use it instead of
readlink(2).
2001-04-30 18:17:00 +00:00
Glenn L McGrath
af166e7ce0 Logic reversal for last_char_is 2001-04-29 00:50:33 +00:00
Eric Andersen
c1bdffe99b Another nice cleanup from Larry. This adds a new last_char_is() function and
uses it to avoid possible buffer underruns whn strlen is zero, and avoid the
possible space-hogging inline of strlen() in several cases.
 -Erik
2001-04-26 15:56:47 +00:00
Eric Andersen
04095e58fb Move messages.c to libbb. Make each string in messages.c be its own .o file.
This way, we can new get rid of all that tedious #define rubbish we used to
need to enable specific messages.  This way is enormously simpler, and as a
bonus also ends up saving us 96 bytes.
 -Erik
2001-04-25 05:39:18 +00:00
Glenn L McGrath
2975a34f23 readTarFile changed from exter nto static 2001-04-11 16:49:07 +00:00
Glenn L McGrath
48081f81bd replace getOctal with strtol( , NULL, 8)
saves 100 Bytes
2001-04-11 05:01:09 +00:00
Glenn L McGrath
7fd92949d0 Move unzip, gz_open, gz_close to libbb 2001-04-11 03:11:33 +00:00
Glenn L McGrath
ae8ad35590 Fixes from Robert Kaiser 2001-03-28 23:57:51 +00:00
Glenn L McGrath
02cebebc3b Remove cruft 2001-03-28 07:37:48 +00:00
Glenn L McGrath
9233959940 Remove tar_unzip_init() not needed any more, uses gz_open instead 2001-03-28 07:31:37 +00:00
Glenn L McGrath
018e9e6799 Fix tar -z, calls gz_open now 2001-03-28 07:27:26 +00:00
Glenn L McGrath
0cbc8cf4c9 Gunzip changes broke tar -z support (woops) 2001-03-28 05:47:26 +00:00
Eric Andersen
3e6ff9017f A cleanup patch from Jeff Garzik to static-ify a number of
namespace polluting things that really should be static.
2001-03-09 21:24:12 +00:00
Eric Andersen
cbe31dace5 It turns out that DODMALLOC was broken when I reorganized busybox.h
header file usage before the 0.49 release.  To fix it, I had to move
the '#include "busybox.h"' to the end of the list of #include files.
 -Erik
2001-02-20 06:14:08 +00:00
Eric Andersen
67991cf824 This patch, put together by Manuel Novoa III, is a merge of work
done by Evin Robertson (bug#1105) and work from Manuel to make
usage messages occupy less space and simplify how usage messages
are displayed.
2001-02-14 21:23:06 +00:00
Matt Kraai
05e782ddd3 Fix wget error message and add (and use) chomp library function. 2001-02-01 16:49:30 +00:00
Matt Kraai
dd19c69904 Removed trailing \n from error_msg{,_and_die} messages. 2001-01-31 19:00:21 +00:00
Eric Andersen
8ec10a9483 Fix up copyright msgs. Bump version to 0.49 in preparation for
a release.  Update the website with release details.
 -Erik
2001-01-27 09:33:39 +00:00
Eric Andersen
ed3ef50c23 Fix header file usage -- there were many unnecessary header files included in
busybox.h which slowed compiles.  I left only what was needed and then fixed up
all the apps to include their own header files.  I also fixed naming for pwd.h
and grp.h functions.  Tested to compile and run with libc5, glibc, and uClibc.
 -Erik
2001-01-27 08:24:39 +00:00
Mark Whitley
59ab025363 #define -> static const int. Also got rid of some big static buffers. 2001-01-23 22:30:04 +00:00
Matt Kraai
3b3f5c364a Use getopt (or getopt_long). 2001-01-22 20:49:00 +00:00
Matt Kraai
8f8dab94e5 Fixed listed files to extract to be more like GNU. Reported by Deon George. 2001-01-22 05:25:19 +00:00
Glenn L McGrath
1d269432b1 Close unused pipe handle before fork (for tar -z). 2001-01-20 00:12:21 +00:00
Matt Kraai
541ffe30a2 Fix ownership of extracted directories. 2001-01-13 21:46:25 +00:00
Matt Kraai
be7499c83c Behave like GNU tar when matching excluded files. 2001-01-03 17:22:10 +00:00
Glenn L McGrath
7541e3a812 add dpkg-deb command 2001-01-02 23:41:50 +00:00
Matt Kraai
e80a2633bc Be sure to read from the given path, not the one used in the header. 2000-12-19 20:45:49 +00:00
Matt Kraai
a1f9775981 Fix tar handling of absolute paths and excluded directories. 2000-12-19 06:24:08 +00:00
Matt Kraai
1fa1adea2a Change calls to error_msg.* and strerror to use perror_msg.*. 2000-12-18 03:57:16 +00:00
Eric Andersen
4836fd44f0 Patch from Matt Kraai:
The following patch makes the -X option to tar behave like GNU,
    which reads one file per line.  It also prevents the last file
    from being appended to the list twice (though that has no
    noticeable impact).
2000-12-13 15:28:48 +00:00
Eric Andersen
bd193a42a5 Fix from Matt Kraai -- a better way to NULL terminate strings for the
my_* passwd and group routines.  I should have thought of doing it
this way...
2000-12-13 01:52:39 +00:00
Glenn L McGrath
46f44d24fc Support for tar -z option for uncompressing only 2000-12-10 01:57:30 +00:00
Mark Whitley
f57c944e09 Changed names of functions in utility.c and all affected files, to make
compliant with the style guide. Everybody rebuild your tags file!
2000-12-07 19:56:48 +00:00
Eric Andersen
3d957c87b7 Patch from Jim Gleason <jimg@lineo.com> to fix tar so it no longer breaks hard
links, and no longer segfault in a certain wierd case.
2000-12-07 00:34:58 +00:00
Eric Andersen
8cede00b9e Patch to add in the -X option and fix the --exclude bug, originally by
Sebastien Huet, and now ported to the latest and greatest by both Arne Bernin
<ab@netropol.de> and kent robotti <robotti@metconnect.com>.
2000-12-04 18:51:09 +00:00
Eric Andersen
02f3b2e0c8 Make tar shutup on compile 2000-12-01 19:04:52 +00:00
Matt Kraai
3e856ce428 Stop using TRUE and FALSE for exit status. 2000-12-01 02:55:13 +00:00
Matt Kraai
c119ab9e29 Note an error if we are unable to list/extract specified files. 2000-11-30 04:44:54 +00:00
Matt Kraai
ab8f9e286b Check for archive errors even for files we aren't extracting. 2000-11-18 01:28:57 +00:00
Eric Andersen
3c5ee9a379 Grammer fix. Changed "longer then" to "longer than". Fix thanks to Jim
Gleason <jimg@lineo.com>.
2000-11-14 22:15:48 +00:00
Matt Kraai
d8ad76cb31 Fix some bugs reported by Jim Gleason <jimg@lineo.com> and others I
introduced.
2000-11-08 02:35:47 +00:00
Eric Andersen
62f987e95f Fix a thinko. Patch from Justus Pendleton <justus@acm.org> 2000-10-09 17:54:38 +00:00
Eric Andersen
3570a34de4 Renamed "internal.h" to the more sensible "busybox.h".
-Erik
2000-09-25 21:45:58 +00:00
Eric Andersen
1b1cfde1f8 Fix bug#1043 -- hanlde long filenames and links (in this case, by complaining
that thay exist and skipping such files when extracting and when archiving.
 -Erik
2000-09-24 00:54:37 +00:00
Eric Andersen
0102a9fd48 Fix an obscure option parsing bug. 2000-09-23 22:36:24 +00:00
Eric Andersen
46a98dfb13 Reverted my conversion of tar to getopt to ensure tar can
handle traditional semantics (i.e. 'tar -xvf -' or 'tar xvf'
now both work).
 -Erik
2000-09-19 21:35:14 +00:00
Matt Kraai
b2f36af157 Updated stdin/stdout treatment to match that of gnu tar. 2000-09-15 22:47:34 +00:00
Matt Kraai
6fc2a7d04d Reorganize listing code. 2000-09-15 22:23:41 +00:00
Matt Kraai
82cfbad216 Allow non-verbose listing to work. 2000-09-15 21:18:43 +00:00
Matt Kraai
43c8c38bbf Allow compilation when not using BB_FEATURE_TAR_EXCLUDE, and fix
handling of --exclude option.
2000-09-04 16:51:55 +00:00
Matt Kraai
b92223b6f5 Allow selective extraction and listing of files. And fix an unchecked
return value of realloc (with xrealloc).
2000-09-04 08:25:42 +00:00
Matt Kraai
da542f3a0c Argh. I *will* compile before checking in. 2000-09-01 02:53:01 +00:00
Matt Kraai
f446297afd Don't unlink files if we are extracting to stdout. 2000-09-01 02:50:48 +00:00
Eric Andersen
fdd5103348 Merge in two patches from Dave Cinege:
the first is a cleanup of tar --exclude
    the second changes mount so mtab works more as it should, and
    also allows mount to use the traditional short form (i.e.
    'mount / -o remount,rw' now works.

While inside tar, I changed it to use getopt...
 -Erik
2000-08-02 18:48:26 +00:00
Eric Andersen
d5704686b1 Fix from Robert Kaiser for stdin behavior.
-Erik
2000-07-28 15:20:24 +00:00
Matt Kraai
bf181b9338 Extract usage information into a separate file. 2000-07-16 20:57:15 +00:00
Matt Kraai
be84cd4ef6 Always report the applet name when doing error reporting. 2000-07-12 17:02:35 +00:00
Eric Andersen
8845adc545 * Fixed tar creation support when reading from stdin ('tar -cf - . ')
thanks to Daniel Quinlan <quinlan@transmeta.com>
 -Erik
2000-07-06 22:51:35 +00:00
Eric Andersen
1c314ad655 * Fixed a _horrible_ bug where 'tar -tvf' could unlink
local files!!!  Fix thanks to Marius Groeger <mgroeger@sysgo.de>
* Added support for "sh -c command args...", also thanks to
    Marius Groeger <mgroeger@sysgo.de>

 -Erik
2000-06-28 16:56:25 +00:00
Eric Andersen
3adffb7fc8 readlink(2) does not NULL terminate the buffer it reads in, but tar expected it
to do so.  This caused symlinks stored in tarballs to likely have trailing
crap in the stored symlink named.  Oops.
 -Erik
2000-06-26 10:54:06 +00:00
Eric Andersen
b405dfa54d 'tar --help' wasn't working. Fixed it.
-Erik
2000-06-21 18:37:36 +00:00
Eric Andersen
0c6a970eb2 * Fixed a small bug that could cause tar to emit warning messages
and not extract the first file in a directory in some cases
    of nested directories.  Thanks to Kevin Traas <kevin@netmaster.com>
    for helping track this one down.
 -Erik
2000-06-09 20:51:50 +00:00
Eric Andersen
108a44345c Fixed tar option parsing segfault, and make "tar xv" and "tar -xv"
both work (i.e. it works with or w/o the "-").
 -Erik
2000-05-30 19:05:57 +00:00
Erik Andersen
8ea7d8cdaf First pass at fixing tar segfault, and more portability updates.
-Erik
2000-05-20 00:40:08 +00:00
Erik Andersen
7ab9c7ee52 Lots of updates. Finished implementing BB_FEATURE_TRIVIAL_HELP
which lets you compile out most of the "--help" output, saving
up to 17k.

Renamed mnc to nc.
 -Erik
2000-05-12 19:41:47 +00:00
Erik Andersen
923ef599f3 Fix tarball creation. In an attempt to accomodate the whiners
that wanted "tar cf foo.tar foo" (i.e. no "-" before options)
I broke creation of tarballs.  Now fixed.
 -Erik
2000-04-28 22:32:13 +00:00
Erik Andersen
4f3f757d56 Latest and greatest. Some effort at libc5 (aiming towards newlib)
compatability.
 -Erik
2000-04-28 00:18:56 +00:00
Erik Andersen
1d1d95051a More Doc updates. cmdedit and more termio fixes. 2000-04-21 01:26:49 +00:00
Erik Andersen
a3e57ca700 make ps accept (and ignore) all options (--help works of course).
tar now works with or without the leading "-" on the options.
 -Erik
2000-04-19 03:38:01 +00:00
Erik Andersen
95c1c1e05f Fix a tar bug: tar removed leading '/'s for symlink targets.
Fix a syslogd bug: Only the first sizeof(buffer) was read from the
/dev/log socket, causing (for most cases) only every other log item to be logged.
 -Erik
2000-04-14 21:45:29 +00:00
Erik Andersen
61677feff7 Upates to include copyright 2000 to everything
-Erik
2000-04-13 01:18:56 +00:00
Erik Andersen
0817d1372c This makes tar work perfectly, and adds in "--exclude" as an option
-Erik
2000-04-09 15:17:40 +00:00
Erik Andersen
84e09e4437 Fix tar checksum calculation bug.
-Erik
2000-04-08 20:58:35 +00:00
Erik Andersen
ecd512453c Latest and greatest
-Erik
2000-04-08 03:08:21 +00:00
Erik Andersen
6a34b539db Slightly better fringe case handling and GNU tar like error messages.
-Erik
2000-04-07 06:55:38 +00:00
Erik Andersen
5661fe078e Tar now works perfectly. It behaves much better now then it
used to.  Only thing left to do is add in exclude (-X) option.
 -Erik
2000-04-05 01:00:52 +00:00
Erik Andersen
68a9ea4208 Update tar so creation of tarballs is much closer to working...
-Erik
2000-04-04 18:39:50 +00:00
Erik Andersen
3364d78b18 Yet another installment in the ongoing tar saga
-Erik
2000-03-28 00:58:14 +00:00
Erik Andersen
6acaa40f27 First stages of (re-)writing busybox's tar creation support.
-Erik
2000-03-26 14:03:20 +00:00
Erik Andersen
deea048bec Latest and greatest
-Erik
2000-03-25 23:09:29 +00:00
Erik Andersen
1ad302ac90 The new tar for busybox is now done, and works just fine
for extracting files.  Creation of tarballs is next...
 -Erik
2000-03-24 00:54:46 +00:00
Erik Andersen
e454fb68a3 More changes that are broken. It doesn't compile
yet, but is closer.
 -Erik
2000-03-23 04:27:58 +00:00
Erik Andersen
298854f029 My latest ramblings.
-Erik
2000-03-23 01:09:18 +00:00
Erik Andersen
e272915e1f Some updates for the day,
-Erik
2000-02-18 21:34:17 +00:00
Erik Andersen
e49d5ecbbe Some formatting updates (ran the code through indent)
-Erik
2000-02-08 19:58:47 +00:00
Erik Andersen
fac10d7c59 A few minor updates. ;-)
Seriously though, read the Changelog for busybox 0.42,
which this is about to become...
 -Erik
2000-02-07 05:29:42 +00:00
Erik Andersen
ce5b466bcc copyFile could call chmod on a symlink, changing the perms
of the pointed to file.  Minor fix to tar for directory handling.
 -Erik
2000-01-27 19:50:47 +00:00
Erik Andersen
5509af7073 * added (and documented) "-n" option for head -
contributed Friedrich Vedder <fwv@myrtle.lahn.de>
* Cleanup for a number of usage messages -- also
    contributed Friedrich Vedder <fwv@myrtle.lahn.de>
 -Erik
2000-01-23 18:19:02 +00:00
Erik Andersen
06936df164 Fix a bug where tar could change perms and ownership of dirs pointed
to by symlink within a tarball.
 -Erik
2000-01-23 02:14:20 +00:00
Erik Andersen
de552874d2 Some busybox updates. You no longer _have_ to put a "-" in front of tar
options, logger is better behaved and has a "-t" option now.  init now supports
the kernel chroot patch, so you can chroot to a new device and umount the old
root.
 -Erik
2000-01-23 01:34:05 +00:00
Erik Andersen
05100cd477 tar creation support is now optional.
-Erik
2000-01-16 01:30:52 +00:00
Erik Andersen
7dc160721e Bunches of fixes. Typos, bugs, etc.
Added 'gunzip -t'.  inittab support _almost_ works (but it isn't
ready for prime time useage yet).
 -Erik
2000-01-04 01:10:25 +00:00
Erik Andersen
00266d3df6 Fixed a bug where tar would not set the user and group on device
special files.
 -Erik
1999-12-28 00:17:46 +00:00
Erik Andersen
98f67e35d8 chown(2) clears S_ISUID and S_ISGID, even when chown is
called as root.  Changed ordering of chown and chmod so
SGID and SUID file permissions don't get munged.
 -Erik
1999-12-27 23:48:33 +00:00
Eric Andersen
03018f7551 Fixed tar so uid/gud/permissions on extracted tarballs will be correct.
-Erik
1999-11-29 04:29:13 +00:00
Eric Andersen
08b1034f4f Stuf 1999-11-19 02:38:58 +00:00
Eric Andersen
b6a44b8d39 updates for the day 1999-11-13 04:47:09 +00:00
Eric Andersen
96bcfd346b Latest and greatest
-Erik
1999-11-12 01:30:18 +00:00
Eric Andersen
d73dc5b073 Updates to usage, and made tar work.
-Erik
1999-11-10 23:13:02 +00:00
Eric Andersen
5556c1874b Maybe works now...
-Erik
1999-11-10 19:27:58 +00:00
Eric Andersen
50d6360771 Stuff 1999-11-09 01:47:36 +00:00
Eric Andersen
be971d6b69 More init fixes. Fixed sync segfault.
-Erik
1999-11-03 16:52:50 +00:00
Eric Andersen
c49960189a Fixed up copyright notices and such 1999-10-20 22:08:37 +00:00
Eric Andersen
e77ae3a2c0 Added sfdisk. Ststic-ified a bunch of stuff. 1999-10-19 20:03:34 +00:00
Eric Andersen
f6be944a6a More stuff 1999-10-13 21:12:06 +00:00
Eric Andersen
1b61f41f57 More stuff 1999-10-13 18:56:42 +00:00
Eric Andersen
3cf52d1958 More stuff... 1999-10-12 22:26:06 +00:00
Eric Andersen
f811e07b07 More stuff. 1999-10-09 00:25:00 +00:00
Eric Andersen
17d49efd8c More stuff. 1999-10-06 20:25:32 +00:00
Eric Andersen
cc8ed39b24 Initial revision 1999-10-05 16:24:54 +00:00