Denys Vlasenko
b768aeb164
tar: make typical extraction less memory-hungry
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-26 18:22:41 +02:00
Denys Vlasenko
52827e3ebc
*: tar-related cleanups: move struct to unarchive.h; move help to tar.c
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-26 18:21:36 +02:00
Denys Vlasenko
d0a8a0d312
tar: fix --to-command wrt short writes
...
function old new delta
bb_copyfd_exact_size 51 98 +47
bb_full_fd_action 362 394 +32
get_header_tar 1546 1558 +12
data_extract_to_command 430 439 +9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 100/0) Total: 100 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-26 18:11:44 +02:00
Ladislav Michl
2b46fd49b1
tar: optional support for --to-command
...
function old new delta
data_extract_to_command - 430 +430
dec2env - 44 +44
tar_main 778 819 +41
str2env - 37 +37
tar_var - 32 +32
xputenv - 22 +22
tar_longopts 257 270 +13
------------------------------------------------------------------------------
(add/remove: 6/0 grow/shrink: 2/0 up/down: 619/0) Total: 619 bytes
Signed-off-by: Ladislav Michl <Ladislav.Michl@seznam.cz>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-25 01:33:00 +02:00
Denys Vlasenko
d2b738a6d2
decompress_unxz: use common string
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-21 02:16:51 +02:00
Denys Vlasenko
ba73cfd284
unxz: update from XZ embedded git
...
function old new delta
rc_reset - 21 +21
unpack_xz_stream 2342 2357 +15
lzma_reset 102 64 -38
lzma_len 506 443 -63
xz_dec_lzma2_run 1438 1374 -64
xz_dec_reset 73 - -73
lzma_main 2517 2183 -334
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 1/4 up/down: 36/-572) Total: -536 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-20 02:40:56 +02:00
Denys Vlasenko
134d0eb114
cosmetics on top of Dan's patches
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-19 20:07:23 +02:00
Dan Fandrich
fdd7b566ec
A few minor portability improvements
...
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-19 20:03:15 +02:00
Denys Vlasenko
d86b4c3907
data_extract_all: do not chmod symlink. Closes 2053
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-18 02:00:55 +02:00
Denys Vlasenko
d70e0e995e
*: add INSERTs to *.src files where appropriate
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-08 12:15:11 +02:00
Denys Vlasenko
da929a95aa
mass renaming Kbuild -> Kbuild.src, Config.in -> Config.src
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-04 20:10:51 +02:00
Denys Vlasenko
ea8b252cb3
*: better string sharing
...
text data bss dec hex filename
849427 441 7556 857424 d1550 busybox_old
849355 441 7556 857352 d1508 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-02 12:57:26 +02:00
Denys Vlasenko
8376bfae58
decompress_unxz: allocate permanent crc32 table _fisrt_
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-01 23:26:54 +02:00
Denys Vlasenko
b9542cb2ce
deinline two big functions
...
function old new delta
xz_dec_lzma2_run - 1483 +1483
decode_one_format - 715 +715
decode_format_string 840 98 -742
unpack_xz_stream 4014 2377 -1637
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/2 up/down: 2198/-2379) Total: -181 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-01 23:16:46 +02:00
Denys Vlasenko
716f3f612e
decompress_unxz: newer version, one which can unpack SHA-256 protected files
...
function old new delta
check_sizes - 16 +16
crc32_table - 4 +4
index_update 47 40 -7
crc32_validate 110 93 -17
dec_vli 197 165 -32
unpack_xz_stream 4284 4014 -270
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/4 up/down: 20/-326) Total: -306 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-01 14:41:39 +02:00
Denys Vlasenko
acaaca839a
unxz: remove debugging. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-30 04:50:21 +02:00
Denys Vlasenko
6948f210ed
*: teach tar et. al. to understand .xz by heart
...
function old new delta
unpack_xz_stream - 4126 +4126
setup_unzip_on_fd 80 150 +70
open_zipped 113 131 +18
unpack_unxz 5 12 +7
send_tree 360 353 -7
unpack_xz_stream_stdin 3953 - -3953
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 3/1 up/down: 4221/-3960) Total: 261 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-30 04:18:13 +02:00
Denys Vlasenko
fb6c76cb6e
forgotten "git add"...
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-30 03:47:40 +02:00
Denys Vlasenko
602ce69afb
unxz: new applet, complete with xzcat and xz -d aliases
...
function old new delta
unpack_xz_stream_stdin - 3953 +3953
lzma_main - 2601 +2601
lzma_len - 516 +516
dec_vli - 165 +165
dict_repeat - 103 +103
lzma_reset - 98 +98
fill_temp - 98 +98
crc32_validate - 93 +93
xz_dec_reset - 77 +77
unxz_main - 77 +77
index_update - 47 +47
xz_crc32 - 40 +40
packed_usage 27044 27060 +16
make_new_name_unxz - 14 +14
applet_names 2240 2254 +14
applet_main 1312 1324 +12
applet_nameofs 656 662 +6
unpack_unxz - 5 +5
send_tree 355 360 +5
applet_install_loc 164 166 +2
------------------------------------------------------------------------------
(add/remove: 15/0 grow/shrink: 6/0 up/down: 7942/0) Total: 7942 bytes
text data bss dec hex filename
844032 453 6812 851297 cfd61 busybox_old
852063 453 6812 859328 d1cc0 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-30 03:35:18 +02:00
Denys Vlasenko
ccb88a689e
unlzma: add "lzma -d" alias, add -t support, rename lzmacat->lzcat
...
Also coalesce some common strings
text data bss dec hex filename
844110 453 6812 851375 cfdaf busybox_old
844061 453 6812 851326 cfd7e busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-27 02:22:54 +02:00
Denys Vlasenko
7b48eb4372
tar: support GNU 256-bit encoding in all numeric fields
...
function old new delta
getOctal 63 125 +62
get_header_tar 1572 1496 -76
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 62/-76) Total: -14 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-06 20:08:14 +02:00
Denys Vlasenko
e69ad87802
tar: fix "hardlinks to symlinks chown" bug 1519.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-09 14:11:45 +02:00
Denys Vlasenko
02365a6ef7
tar: fix mishandling of repeated hardlink in tarball; expand tests
...
function old new delta
data_extract_all 727 767 +40
get_header_tar 1576 1572 -4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-09 10:52:52 +02:00
J. Tang
77a2c51e79
tar: optional support for restoring selinux context
...
function old new delta
get_header_tar 1690 1976 +286
data_extract_all 821 881 +60
.rodata 151446 151503 +57
get_header_cpio 1044 1077 +33
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 436/0) Total: 436 bytes
Signed-off-by: J. Tang <tang@jtang.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-19 14:48:51 +01:00
Alexander Shishkin
535584c750
ar: add archive creation support
...
function old new delta
ar_main 184 542 +358
output_ar_header - 166 +166
copy_data - 54 +54
filter_replaceable - 19 +19
get_header_ar 409 414 +5
header_verbose_list_ar 85 88 +3
static.msg_unsupported_err 28 - -28
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 3/0 up/down: 605/-28) Total: 577 bytes
Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-15 15:38:09 +01:00
Joakim Tjernlund
0866b36900
gunzip: inflate_codes(): add fix from upstream gzip to prevent false CRC error
...
Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-11 23:56:48 +01:00
Denys Vlasenko
98a4c7cf3d
*: suppress ~60% of "aliased warnings" on gcc-4.4.1
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-04 15:00:15 +01:00
Denys Vlasenko
93ac7d8468
cpio: improve help text; document two TODOs
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-09 19:56:15 +01:00
Denys Vlasenko
dc698bb038
*: make it easier to distinquish "struct tm", pointer to one, etc
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-09 19:10:49 +01:00
Denys Vlasenko
aa4977d8e5
libunarchive: clean up dirty hacks. code shrank as a result
...
function old new delta
cpio_main 526 539 +13
init_handle 57 58 +1
init_archive_deb_ar 34 35 +1
get_header_ar 408 409 +1
dpkg_main 3900 3901 +1
unpack_package 516 515 -1
rpm_main 1673 1672 -1
tar_main 774 767 -7
get_header_cpio 990 972 -18
data_extract_all 750 727 -23
get_header_tar 1631 1576 -55
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/6 up/down: 17/-105) Total: -88 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-06 10:53:17 +01:00
Denys Vlasenko
bde70230e8
libunarchive: trivial code shrink
...
function old new delta
header_verbose_list 257 237 -20
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-06 09:43:11 +01:00
Denys Vlasenko
af1c8e8be0
cpio: fix unpacking of names with leading slashes
...
function old new delta
get_header_cpio 968 990 +22
cpio_main 533 526 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-05 04:43:21 +01:00
Denys Vlasenko
d6459685c1
tar: fix problem handling tarballs with chksums prepended by spaces
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-03 23:41:11 +01:00
Denys Vlasenko
8a936cfab7
tar: add support for --overwrite. +70 bytes.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-16 23:18:59 +01:00
Denys Vlasenko
425ad9c93b
libunarchive: move dpkg-specific things into dpkg.c. 0 byte size differences
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-16 22:46:01 +01:00
Denys Vlasenko
dcbfaba264
fix improper utimes usage
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-29 19:40:36 +01:00
Denys Vlasenko
f94c9bf288
tar: fix bug 673 (misdetection of repeated dir as hardlink). +92 bytes
...
While at it, remove many superfluous ops on unpack:
mkdir("."), lots of umask() calls. Can remove more
by caching username->uid.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-29 07:45:33 +01:00
Denys Vlasenko
6ccaa23f2b
libunarchive: fix reversed test for older/newer
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-24 01:16:12 +01:00
Denys Vlasenko
389cca4b9e
some non-gnu compilers can't have non-const struct initializers
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-15 02:28:56 +01:00
Bernhard Reutner-Fischer
a307af1af6
use utimes() rather than obsolescent utime()
...
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2009-11-15 00:12:53 +01:00
Denys Vlasenko
adf922ec28
*: a few more NOINLINEs
...
function old new delta
print_linkinfo - 815 +815
do_msg - 783 +783
INET_setroute - 757 +757
varvalue - 746 +746
do_sem - 637 +637
inflate_codes - 617 +617
INET6_setroute - 491 +491
edir - 370 +370
sync_cursor - 298 +298
update_utmp - 246 +246
searchLines - 165 +165
setup_alarm - 144 +144
may_wakeup - 101 +101
getNum 566 371 -195
refresh 1166 848 -318
rtcwake_main 809 479 -330
getty_main 2396 1921 -475
chpst_main 1373 746 -627
inflate_unzip_internal 1335 567 -768
evalvar 1384 612 -772
ipaddr_list_or_flush 2160 1246 -914
route_main 1585 245 -1340
ipcs_main 2523 1049 -1474
------------------------------------------------------------------------------
(add/remove: 13/0 grow/shrink: 0/10 up/down: 6170/-7213) Total: -1043 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-08 14:35:37 +02:00
Denys Vlasenko
8d338173a4
tar: accept spaces at the end of header fields (compat)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-23 17:16:37 +02:00
Denys Vlasenko
2bf6634ef4
ar: fix long filenames handling (bug 611)
...
function old new delta
get_header_ar 493 528 +35
read_num - 25 +25
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-20 01:28:27 +02:00
Denys Vlasenko
885583ebe3
tar: do chown, not lchown to restore mode (compat)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-17 03:02:57 +02:00
Denys Vlasenko
d57d62686d
tar: fix --numeric-owner, --no-same-owner, --no-same-permissions bits
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-17 02:43:14 +02:00
Denys Vlasenko
8dc0e1929e
use PACKED macro insted of open-coding GCC-ism
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-16 00:58:11 +02:00
Denys Vlasenko
f2c184be83
unlzma: fixed speedup/shrink by Pascal Bellard (pascal.bellard AT ads-lu.com)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-15 23:40:08 +02:00
Denys Vlasenko
3de3f57c6d
Revert "unlzma: speedup, by Pascal Bellard (pascal.bellard AT ads-lu.com)"
...
https://bugs.busybox.net/show_bug.cgi?id=599
This reverts commit 9ac3dc764a
.
2009-09-06 15:06:25 +02:00
Denys Vlasenko
b9762922d1
libunarchive: fix a bug where mode and time is no longer restored
...
Introduced by me in 1.15.x. Found by Rob Landley.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-30 01:18:34 +02:00
Denys Vlasenko
0a130d510d
rpm2cpio: handle unseekable input correctly
...
function old new delta
data_skip 14 20 +6
seek_by_jump 67 72 +5
data_align 81 84 +3
seek_by_read 20 19 -1
skip_header 99 94 -5
rpm2cpio_main 183 177 -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/3 up/down: 14/-12) Total: 2 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-28 21:09:51 +02:00