Glenn L McGrath
beb3bbd991
Fix handling of hardlinks when OLDGNU and GNU extensions arent enabled.
2003-09-12 06:49:09 +00:00
Glenn L McGrath
ef91bf67ed
Use the typeflag to identify if its a hardlink on OLD and GNU posix
...
modes, fixes a bug extracting hardlinks to symlinks.
2003-09-12 06:31:28 +00:00
Eric Andersen
2fdba24620
Marc A. Lehmann writes:
...
The tar -x command in busybox does not restore the file mode correctly.
The reason is most probably this code in
archival/libunarachive/data_extract_all.c:
chmod(file_header->name, file_header->mode);
chown(file_header->name, file_header->uid, file_header->gid);
chown clears the set*id bits (on current versions of linux :). Flipping
the order around fixes the problem.
(tested with 1.00pre3 from cvs).
2003-09-11 08:32:40 +00:00
Glenn L McGrath
87af49f26b
If a tar entry is a regualr file ending in a '/' then its really a
...
directory.
From http://www.gnu.org/manual/tar/html_node/tar_123.html
REGTYPE
AREGTYPE
These flags represent a regular file. In order to be compatible with
older versions of tar, a typeflag value of AREGTYPE should be silently
recognized as a regular file. New archives should be created using
REGTYPE. Also, for backward compatibility, tar treats a regular file
whose name ends with a slash as a directory.
2003-09-09 17:41:03 +00:00
Glenn L McGrath
4cee66d5a8
Dont unlink when testing !
...
Always preserve creation date
Disable the -p option its for modification date
Remove some cpio header debugging noise
Syncronise file listing behaviour with upstream.
2003-08-28 19:12:23 +00:00
Glenn L McGrath
3d5828fb6d
Change hardlink handling for tar to work the same way as cpio
2003-08-14 02:55:15 +00:00
Glenn L McGrath
91e464632b
Fix bug when handling debian packages.
...
If we read the contents of compressed files within the ar archive,
e.g. control.tar.gz, then file position gets all out of whack, so
it has to be reset before reading thenext header.
2003-07-31 01:53:50 +00:00
Eric Andersen
1b0075d243
Fixup problem unconditionally converting all hard links to symlinks.
2003-07-16 06:29:51 +00:00
Eric Andersen
cb81e6484d
Update a bunch of docs. Run a script to update my email addr.
2003-07-14 21:21:08 +00:00
Eric Andersen
e3393513c5
Be certain to not abort prematurely when reading stuff from pipes.
2003-07-05 23:10:27 +00:00
Glenn L McGrath
b838420fd5
Handle hard links by converting them to symlinks
2003-06-12 13:47:16 +00:00
Glenn L McGrath
afc01cd485
unlink a previous file before its extracted
2003-04-21 11:03:29 +00:00
Manuel Novoa III
cad5364599
Major coreutils update.
2003-03-19 09:13:01 +00:00
Glenn L McGrath
826b48b624
Woops, my gunzip fix broke unzip, these cant be static
2003-02-09 12:00:17 +00:00
Glenn L McGrath
1d21fb3c23
Moved to libunarchive/unzip.c
2003-02-09 04:49:17 +00:00
Glenn L McGrath
cc616928d5
Fix endian probelm on PPC, i had different types for an extern variable.
2003-02-09 04:46:34 +00:00
Glenn L McGrath
21110a0aa2
Fix long standing bug with old gnu tar files, add a check so tar will
...
complain "unknown file type" if it tries to extract an oldgnu tar file
and TAR_FEATURE_OLDGNU_COMPATABILITY sint defined.
Print a warning if unisupported gnu extensions are encountered.
2003-01-28 01:45:48 +00:00
Eric Andersen
f4b273cbb4
A cleaner cleanup that avoids passing an off_t to scanf
2002-12-11 21:45:08 +00:00
Eric Andersen
9701411d21
squash a warning
2002-12-11 21:34:04 +00:00
Glenn L McGrath
b72a735a32
rpm applet by Laurence Anderson
2002-12-10 00:17:22 +00:00
Glenn L McGrath
66125c8065
Move add_to_list from libunarchive to libbb so it can be of more general use (eg ifupdown). Changed the name to llist_add_to as i plan on adding more llist_ functions as needed (e.g. llist_free).
2002-12-08 00:54:33 +00:00
Glenn L McGrath
6f9b45b9ef
Unlink before mkdir, mknod, symlink to overwrite
2002-12-04 22:26:30 +00:00
Glenn L McGrath
f3faf41334
fix warning
2002-12-01 21:52:40 +00:00
Glenn L McGrath
fedbfe4059
Style
2002-11-28 09:09:47 +00:00
Glenn L McGrath
eda4f53f2e
Add an input buffer (currently 32kB) to speed things up heaps, it still requires 25% longer to decompress as compared to upstream.
2002-11-24 06:01:20 +00:00
Glenn L McGrath
b7a76df4d1
Fix long filename support
2002-11-23 10:44:47 +00:00
Glenn L McGrath
83bf47c02f
Speed and memory usage improvements from Laurence Adnerson
2002-11-20 22:00:31 +00:00
Glenn L McGrath
0126fda5bb
read_gz patch 3 from Laurence Anderson
2002-11-20 06:46:46 +00:00
Glenn L McGrath
a0d395eac9
Use read_gz, remove fork() woohoo!
2002-11-19 08:22:03 +00:00
Glenn L McGrath
fd73b8c2ce
Patch from Laurence Anderson to provide a read_gz function, doesnt require fork(), pipe(), consistent with read_bz2 and more flexible.
2002-11-17 21:33:30 +00:00
Glenn L McGrath
02fcd2d2df
Allow short reads as we are looping anyway.
2002-11-15 21:58:30 +00:00
Glenn L McGrath
e356883ffb
Minor cleanups
2002-11-13 00:24:20 +00:00
Glenn L McGrath
034c371bb2
Reduce block size to 512 to prevent short read's when reading from a pipe
2002-11-12 23:34:15 +00:00
Glenn L McGrath
5703341123
#ifdef, not just #if... grrr
2002-11-08 08:07:38 +00:00
Glenn L McGrath
ea12202288
Terminate the buffer with a '\0'
2002-11-06 22:31:45 +00:00
Glenn L McGrath
7f2a95319b
Fail silently if a partial tar header is read as tar.bz2 is leaving trailing junk (not sure why), add some missing files
2002-11-05 02:56:57 +00:00
Glenn L McGrath
18bbca18ac
enable .tar.bz2 for dpkg-deb
2002-11-05 01:52:23 +00:00
Glenn L McGrath
8e94098423
Change filter paramaters, filters can be more powefull now
2002-11-04 23:47:31 +00:00
Glenn L McGrath
237ae42fc9
Abstract read and seek in unarchiving code, convert bunzip to file descriptors, support tar -j
2002-11-03 14:05:15 +00:00
Glenn L McGrath
2fc54a9258
Fix #define syntax
2002-11-03 12:50:33 +00:00
Glenn L McGrath
6ab32eb34c
Move data_extract_all_prefix to dpkg, its only used there.
2002-11-03 11:57:10 +00:00
Glenn L McGrath
b8e556e5f5
Add copyright notice and license, use strcat+strcpy instead of sprintf
2002-11-03 11:46:49 +00:00
Glenn L McGrath
9c60b29071
Use xread_char to save a few bytes, fix indenting of comments
2002-11-03 10:57:25 +00:00
Glenn L McGrath
60bce4905c
Move bunzip2 idecompression code to libunarchive
2002-11-03 07:28:38 +00:00
Glenn L McGrath
bf1cc8b1b7
Make uncompress a seperate applet so it doesnt pull in all the gunzip code
2002-11-01 23:38:54 +00:00
Glenn L McGrath
d6aec8619d
Allow short reads when filling compress buffer
2002-11-01 22:28:13 +00:00
Glenn L McGrath
b2f67b4068
Make it a fatal error if bad chksum or crc, if not we should return an error code
2002-11-01 22:08:59 +00:00
Glenn L McGrath
9ffd5776eb
Move unzip.c uncompress.c from libbb to archiveal/libunarchive
2002-10-22 01:07:32 +00:00
Glenn L McGrath
61b7904afd
Update dpkg to use new unarchive code
2002-10-19 10:40:55 +00:00
Glenn L McGrath
c5c1a8a112
Fix exclude/include problem
2002-10-19 06:19:22 +00:00