Denys Vlasenko
2aec773688
rpm: use "create+rename" method of replacing existing files
...
Users were reporting getting errors like
"ls: error while loading shared libraries: libc.so.6: ELF load command past end of file"
while rpm was unpacking glibc tarball.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-20 15:58:42 +01:00
Denys Vlasenko
10f5f9b10d
rpm: make -ql display more compatible; improve help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-02-20 15:57:39 +01:00
Denys Vlasenko
bf99807657
unzip: add missing fflush; code shrink
...
function old new delta
my_fgets80 - 41 +41
unzip_main 2291 2242 -49
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-22 11:16:08 +01:00
Denys Vlasenko
778794d1dd
*: reuse more strings
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-22 10:13:52 +01:00
Denys Vlasenko
60cb48ca50
whitespace cleanup. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-14 15:57:44 +01:00
Denys Vlasenko
6967578728
whitespace fixes. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-14 01:34:48 +01:00
Denys Vlasenko
4d5955e9ec
decompress_uncompress: comment out a bigger chunk of debug code
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-12-05 11:08:30 +01:00
Denys Vlasenko
a8461173ba
decompress_uncompress: comment out debug printout on corrupted data
...
99% plus of all people who'll get corrupted archive wouldn't bother
debugging it. The rest can uncomment the code.
function old new delta
unpack_Z_stream 1304 1234 -70
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-12-05 01:06:05 +01:00
Denys Vlasenko
c71547ccfc
decompress_uncompress: move 'code' variable into loop - sole user
...
Apparently, gcc does this optimization itself, since generated code is the same.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-12-05 01:04:54 +01:00
Denys Vlasenko
440a509849
dpkg: fix creation of .list files (were empty since b768aeb
). Closes 5324
...
While at it, fix filename order and free the list of names.
function old new delta
llist_rev - 21 +21
get_header_tar 1733 1741 +8
unpack_package 587 585 -2
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/1 up/down: 29/-2) Total: 27 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-06-22 16:27:21 +02:00
Denys Vlasenko
d52c9510fd
trivial small speed optimization
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-06-22 15:54:05 +02:00
Denys Vlasenko
e3e0d2b812
tweak help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-06-19 12:46:59 +02:00
Denys Vlasenko
c5b01016e6
unzip: make options parsing more robust on getopt w/o gnu extensions
...
Also, code shrank:
function old new delta
static.extn 15 10 -5
packed_usage 29231 29217 -14
unzip_main 2388 2291 -97
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-116) Total: -116 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-06-15 16:43:26 +02:00
Etienne Le Sueur
cfc212cdff
tar: fix 256-bit encoded number decoding
...
Signed-off-by: Etienne Le Sueur <elesueur@vmware.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-06-09 08:37:05 +02:00
Natanael Copa
02112d8ae3
unzip: ignore chmod errors
...
This makes unzip to FAT filesystems not exit with error.
This is similar to how the "normal" unzip works.
Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-05-28 01:29:15 +02:00
Boris Reisig
dfc2473b9e
tar: support -J, --xz explicit compression option
...
function old new delta
tar_main 868 881 +13
tar_longopts 285 290 +5
packed_usage 29267 29270 +3
Signed-off-by: Boris Reisig <boris@boris.ca>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-05-24 09:01:55 +02:00
Anthony G. Basile
6e9284db78
build system: fix build failure when only gunzip is selected
...
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-05-20 12:56:17 +02:00
Natanael Copa
0446104137
tar: implement --no-recursion
...
function old new delta
tar_longopts 259 274 +15
.rodata 5757 5772 +15
tar_main 1038 1052 +14
writeTarFile 362 353 -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 44/-9) Total: 35 bytes
text data bss dec hex filename
81457 1706 8344 91507 16573 busybox_old
81477 1706 8344 91527 16587 busybox_unstripped
Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-05-18 16:34:30 +02:00
Denys Vlasenko
d133144d41
fix build failure when compressed help is selected, but bz2 compression is not
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-04-29 14:28:12 +02:00
Denys Vlasenko
df9196d824
Fix another build failure found with randconfig
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-04-20 18:59:14 +02:00
Denys Vlasenko
8cab66730a
fix build breakage found by randconfig
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-04-20 14:48:00 +02:00
Denys Vlasenko
d29c946f93
fix trivial bug in unpack_gz_stream (wrong fd used in read)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-03-06 16:46:25 +01:00
Denys Vlasenko
b5d6ae9a33
Don't compile get_header_tar_FOO function if they are not needed
...
Now get_header_tar_gz, get_header_tar_bz2, get_header_tar_lzma
are only used if dpkg is built.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-03-06 16:34:23 +01:00
Denys Vlasenko
faac1d3e6e
tar,rpm2cpio: check that child decompressor did not error out
...
function old new delta
check_errors_in_children - 57 +57
tar_main 833 848 +15
get_header_tar 1720 1733 +13
rpm2cpio_main 147 140 -7
handle_SIGCHLD 41 - -41
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 2/1 up/down: 85/-48) Total: 37 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-03-06 16:33:42 +01:00
Denys Vlasenko
02c3c38420
Move seamless .Z support into unpack_gz_stream
...
unpack_gz_stream 566 643 +77
unpack_gunzip 123 12 -111
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-03-06 16:32:06 +01:00
Denys Vlasenko
8a6a2f9c9c
update seamless uncompression code
...
This change makes "tar tf hello_world.txz" work without
adding special-casing for ".txz" extension. It also removes
ever-growing magic checking code in rpm2cpio and get_header_tar -
we reuse one which lives in setup_unzip_on_fd.
function old new delta
unpack_gz_stream 7 566 +559
check_signature16 - 70 +70
setup_unzip_on_fd 99 142 +43
handle_SIGCHLD - 41 +41
unpack_bz2_stream 342 376 +34
unzip_main 2352 2385 +33
bbunpack 503 533 +30
open_transformer 74 102 +28
unpack_Z_stream 1278 1304 +26
unpack_gunzip 101 123 +22
init_transformer_aux_data - 18 +18
unpack_xz_stream 2388 2402 +14
open_zipped 131 141 +10
rpm_main 1358 1363 +5
get_header_tar_lzma 52 57 +5
get_header_tar_bz2 52 57 +5
unpack_lzma_stream 2698 2702 +4
hash_find 234 233 -1
get_header_tar 1759 1733 -26
get_header_tar_gz 92 57 -35
unpack_uncompress 51 12 -39
rpm2cpio_main 201 147 -54
unpack_unxz 67 12 -55
unpack_bz2_stream_prime 55 - -55
get_header_tar_Z 86 - -86
unpack_gz_stream_with_info 539 - -539
------------------------------------------------------------------------------
(add/remove: 3/3 grow/shrink: 14/6 up/down: 947/-890) Total: 57 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-03-06 16:27:48 +01:00
Denys Vlasenko
774bce8e8b
archival/libarchive/decompress_unzip.c -> decompress_gunzip.c. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-03-06 16:26:20 +01:00
Denys Vlasenko
59655077c5
preparatory cleanups for seamless uncompression improvements
...
unpack_gz_stream_with_info: fix buggy error check
man: fix possible accesses past the end of a string
move seamless uncompression helpers from read_printf.c to open_transformer.c
function old new delta
show_manpage 153 212 +59
unpack_gz_stream_with_info 520 539 +19
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-03-06 16:23:50 +01:00
Denys Vlasenko
6111f967f5
tar: add support for PAX-encoded path=LONGFILENAME
...
function old new delta
get_header_tar 1478 1759 +281
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-02-23 13:45:18 +01:00
Denys Vlasenko
d6f5000c13
*: style fixes. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-12-15 12:39:25 +01:00
Denys Vlasenko
d2277e262f
nommu: fix cases where we mangle argv[0][0]
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-22 17:19:26 +01:00
Denys Vlasenko
c531b9a3e4
bzcat: fix unpacking of more than one file, and unpacking of zero-size bz2. Closes 4393
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-31 01:05:16 +01:00
Denys Vlasenko
f74f280a14
get_header_tar: shrink 6->64 sign extension code
...
function old new delta
getOctal 125 107 -18
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-19 14:51:12 +02:00
Denys Vlasenko
d184a728cf
rename archive.h to bb_archive.h. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-22 12:45:14 +02:00
Denys Vlasenko
522041ee7b
regularize options which control size/speed trade
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-10 13:25:57 +02:00
Ian Wienand
c2a06db69d
gzip: new GZIP_BIG_MEM option
...
Enabling the config option on my standard linux box and zipping a
random 250mb file:
small mem: 21.85user 0.44system 0:22.35elapsed
big mem: 13.45user 0.46system 0:13.94elapsed
Signed-off-by: Ian Wienand <ianw@vmware.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-09 20:19:35 +02:00
Denys Vlasenko
831756bac4
unzip: fflush stdout before reading interative y/n answer from stdin
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-09 17:30:55 +02:00
Denys Vlasenko
a04e4c2266
uncompress: die on read errors
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-08-22 04:59:41 +02:00
Denys Vlasenko
251fc70e97
uncompress: fix buffer underrun by corrupted input
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-08-18 14:29:41 +02:00
Denys Vlasenko
b47b3ce1bd
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-08-10 00:51:29 +02:00
Ian Wienand
954dbd3a00
tar: ignore file size (assume 0) for hardlinks
...
Signed-off-by: Ian Wienand <ianw@vmware.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-07-29 08:33:47 +02:00
Denys Vlasenko
66426760be
*: remove "Options:" string from help texts
...
function old new delta
packed_usage 28706 28623 -83
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-06-05 03:58:28 +02:00
Cristian Ionescu-Idbohrn
ea137aa931
warning removal
...
Signed-off-by: Cristian Ionescu-Idbohrn <cii@axis.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-20 03:52:36 +02:00
Denys Vlasenko
60a9414cad
fix "variable 'foo' set but not used" warnings
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-13 20:57:01 +02:00
Denys Vlasenko
9180c6045e
tar: store negative mtime as 0; pack very large files using base-256 encoding
...
function old new delta
writeTarHeader 841 979 +138
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-04 21:14:12 +02:00
Marek Polacek
b0b8884009
Fix double words in comments. No code changes
...
Signed-off-by: Marek Polacek <mpolacek@redhat.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-16 17:33:43 +02:00
Pere Orga
1f4447b2d4
move help text from include/usage.src.h to archival/*.c
...
Signed-off-by: Pere Orga <gotrunks@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-27 22:40:30 +02:00
Denys Vlasenko
681efe20d3
use user's shell instead of hardwired "/bin/sh" (android needs this)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-08 21:00:36 +01:00
Denys Vlasenko
b80acf58f1
tar: skip leading / and handle names like abc/..////def -> def (not ///def)
...
function old new delta
strip_unsafe_prefix - 105 +105
writeFileToTarball 557 520 -37
get_header_tar 1545 1462 -83
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-02 01:21:02 +01:00
Denys Vlasenko
5e29e26388
tar: on extract, everything up to and including last ".." is stripped
...
function old new delta
get_header_tar 1493 1545 +52
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-01 17:21:07 +01:00