Glenn L McGrath
eb1c94078f
Reorganise unarchiving functions, more code re-use, only does single pass(no more linked lists), basis for supporting a cpio (and cheaper untar) applet, but cpio applet isnt included in this.
...
It effects ar, dpkg-deb applets only
2001-06-20 07:48:00 +00:00
Glenn L McGrath
9aff903603
Reorganise archive extraction code
2001-06-13 07:26:39 +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
5a9d441b2c
Fix up some signed char vs int issues that show up on powerpc.
2001-05-24 14:16:28 +00:00
Eric Andersen
77d9268892
Patch from larry to fix some grammar errors.
2001-05-23 20:32:09 +00:00
Matt Kraai
117231c44f
Make - read compressed data from stdin (thanks to Marius Groeger).
2001-05-22 14:23:02 +00:00
Matt Kraai
7f7348b7b2
Correctly remove leading slashes upon extraction (thanks to Marius Groeger).
2001-05-22 14:18:03 +00:00
Matt Kraai
7cedac567c
Remove unused function. If necessary, we can use remove_file instead.
2001-05-17 04:03:22 +00:00
Matt Kraai
59df6f7398
Change 'printf("%s\n", ...)' into 'puts(...)'. Noted and patched in hostname.c
...
by Larry Doolittle.
2001-05-16 14:21:09 +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
Glenn L McGrath
713b398700
woops, forgot the break statment
2001-05-07 12:06:37 +00:00
Glenn L McGrath
5bcfc9ba1a
Tolerate -q argument, if -q is passed give a warning and continue rather than just fail
2001-05-07 12:01:58 +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
Matt Kraai
53265546a6
Eliminate spurious warning, convert to getopt, and eliminate redundant check.
2001-04-18 16:05:34 +00:00
Matt Kraai
96dcd19b8a
Fix a number of problems with argument handling.
2001-04-18 15:54:09 +00:00
Matt Kraai
54652230d4
Eliminate a segfault when called on an existing file with out an extension:
...
touch foo && gunzip foo
2001-04-18 15:51:45 +00:00
Matt Kraai
b181056e06
Eliminated seeks so that we work correctly on pipes, and removed reliance on
...
undefined evaluation ordering. Thanks to Anthony Towns for explanation and
solution.
2001-04-18 14:49:55 +00:00
Glenn L McGrath
bcfeb2ac44
Fix zcat/gunzip when reading from stdin
2001-04-18 13:34:09 +00:00
Glenn L McGrath
ae1c704c44
Write full status file
2001-04-16 10:26:46 +00:00
Glenn L McGrath
33431ebb9a
dpkg improvements, use full package struct, avoid extracting to tmp dir, rename variable.
...
deb_extract, untar and dpkg_deb modified to make the above possible
2001-04-16 04:52:19 +00:00
Glenn L McGrath
445fb952b8
dpkg-deb -f and partial -I commands, adds 600 bytes
2001-04-13 04:02:57 +00:00
Glenn L McGrath
47fd219c95
Rename variable that shadows global
2001-04-12 16:37:13 +00:00
Glenn L McGrath
3e2ab88ee2
New dpkg-deb function -t, stands for --fsys-tarfile
2001-04-12 13:49:09 +00:00
Glenn L McGrath
6785b51280
dpkg-deb -c works now
2001-04-12 11:48:02 +00:00
Glenn L McGrath
359c106871
Fix dpkg-deb, enum's are cool
2001-04-12 10:19:08 +00:00
Glenn L McGrath
2975a34f23
readTarFile changed from exter nto static
2001-04-11 16:49:07 +00:00
Glenn L McGrath
4949faf4b2
copy_file_chunk uses streams now.
2001-04-11 16:23:35 +00:00
Glenn L McGrath
f70f6cef39
Disable sigterm
2001-04-11 15:09:30 +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
528ef50a4a
Gzip is indepenedent of gunzip
2001-04-11 03:45:37 +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
d22e560ad6
Move deb_extract() to libbb, dpkg now independent of dpkg-deb
2001-04-11 02:12:08 +00:00
Glenn L McGrath
9d53c8ab74
Move get_ar_headers to libbb, make dpkg_deb.c independent of ar.c
2001-04-11 01:37:03 +00:00
Eric Andersen
e5dfced23a
Apply Vladimir's latest cleanup patch.
...
-Erik
2001-04-09 22:48:12 +00:00
Glenn L McGrath
305fdfa755
Reorganise status field to use 3 chars instead of one bit shifted long int.
...
Generates status file properly now, not compatable with full dpkg yet.
2001-04-08 13:27:39 +00:00
Glenn L McGrath
37849f3320
Use create_path instead of mkdir
2001-04-08 07:23:53 +00:00
Glenn L McGrath
13e9c7ad82
It now correctly backs up the (still corrupt) status file
2001-04-08 07:18:08 +00:00
Glenn L McGrath
0e757a2f3f
Some fixes, but still broken... (cont)
...
Make better use of some libbb functions
New remove dir code to avoid depending on the rm applet
dont use copy_file() it doesnt fail elegantly
Use getopt.
Generate correct /var/lib/dpkg/info/ files
Status file is broken, working on it now
2001-04-08 05:27:18 +00:00
Glenn L McGrath
f608da4288
Ignore SIGTERM prior to gz_close()
2001-04-07 02:40:59 +00:00
Glenn L McGrath
e5f3957665
Fix warning
2001-04-07 02:17:36 +00:00
Eric Andersen
83f173b61e
A first pass at making D_FILE_OFFSET_BITS=64 work, from
...
Jari Ruusu <jari.ruusu@pp.inet.fi>
2001-04-05 23:07:25 +00:00
Eric Andersen
4e2439ad27
It seems all the stdout munging was useless anyways, since
...
deb_extract and all its called functions do nothing with
stdout anyways. Axe that stuff.
-Erik
2001-04-05 18:30:38 +00:00
Eric Andersen
fdefbbbe85
dpkg_deb had not been updated for the new gunzip interface. Fix it.
...
-Erik
2001-04-05 06:04:11 +00:00
Eric Andersen
e76c3b08e1
A number of cleanups. Now compiles with libc5, glibc, and uClibc. Fix a few
...
shadowed variables. Move (almost) all syscalls to libbb/syscalls.c, so I can
handle them sanely and all at once.
-Erik
2001-04-05 03:14:39 +00:00
Eric Andersen
3a6da8c183
gz_open and gz_close were left in, even when BB_FEATURE_TAR_GZIP was disabled.
...
Fix that.
2001-03-29 14:22:45 +00:00
Glenn L McGrath
5f2ef46d6d
Fix zcat
2001-03-29 01:07:54 +00:00
Glenn L McGrath
ed7a776538
gunzip -c works again
2001-03-29 00:57:20 +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
Glenn L McGrath
58e42d5356
Major cleanup to better adhere to style guide and use standard busybox functions
2001-03-28 05:38:24 +00:00
Glenn L McGrath
f58efb57d1
Add functions that were shared with gunzip.c, gunzip about to change.
2001-03-28 05:35:16 +00:00
Eric Andersen
851895ab80
Clean up more local vars which shadow globals
...
-Erik
2001-03-21 21:52:25 +00:00
Mark Whitley
3bf60aa723
If only BB_DPKG was enabled in Config.h, busybox would not build; it'd say:
...
dpkg.c:18: #error It looks like you are using libc5, which does not support
dpkg.c:19: #error tfind(). tfind() is used by busybox dpkg.
dpkg.c:20: #error Please disable BB_DPKG. Sorry.
This was fixed by changing the || to an && in the preprocessor.
(We've changed the logic in there too many times.)
Found using multibuild.pl.
2001-03-15 17:39:29 +00:00
Eric Andersen
82d8502409
Fix from Manuel for a silly thinko on my part.
2001-03-14 17:15:45 +00:00
Eric Andersen
3c0b425cde
dpkg used tfind, which doesn't work with libc5. Print a friendy error
...
should someone try to use it...
-Erik
2001-03-14 01:31:11 +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
b50d707633
fix a few mallocs to be xmallocs.
...
-Erik
2001-02-15 19:50:11 +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
Glenn L McGrath
3af1f88725
Closer integration with dpkg-deb and other busybox functions.
...
Hopefully simplified some code (works for me).
2001-02-12 11:33:09 +00:00
Glenn L McGrath
821fbf0f42
New option 'list' produces output that can be used for the packages .list file.
...
Will be used be bb dpkg
2001-02-12 11:16:26 +00:00
Glenn L McGrath
bc9afadecd
New function, deb-extract to be used by dpkg, code cleanups. saves some bytes
2001-02-11 03:32:41 +00:00
Glenn L McGrath
728875f340
Consmetic changes
2001-02-11 03:15:57 +00:00
Glenn L McGrath
631064613f
More style changes
2001-02-11 01:40:23 +00:00
Glenn L McGrath
0c9d77ccfd
Style changes; use get_line_from_file from utilities
2001-02-11 00:17:22 +00:00
Glenn L McGrath
510f0ddafa
Use copy_file from utilty.c, remove some char defines
2001-02-10 14:53:08 +00:00
Glenn L McGrath
649968ceb1
Bug fix, rename status file, cleanups
2001-02-10 14:26:48 +00:00
Glenn L McGrath
af8c65deaa
Replace status defines with const int to conform to sytle guide, adds 32 bytes
2001-02-10 03:19:51 +00:00
Glenn L McGrath
c900575dc4
Initial import
2001-02-10 02:05:24 +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
Eric Andersen
d35c21587a
Commit Larry Doolittle's buffers-on-stack/buffers-via-malloc patch.
...
-Erik
2001-01-25 23:49:09 +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
f914a8af2b
Close files before exit
2001-01-20 06:23:54 +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
59c09d06e3
Fix warning for unused variable
2001-01-03 01:44:49 +00:00
Glenn L McGrath
58a408512b
really add dpkg-deb.c this time
2001-01-02 23:49:26 +00:00
Glenn L McGrath
7541e3a812
add dpkg-deb command
2001-01-02 23:41:50 +00:00
Matt Kraai
a9819b2908
Use busybox error handling functions wherever possible.
2000-12-22 01:48:07 +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
Glenn L McGrath
4f1b0124c7
Rewrite, fix a bug with multiple long filenames, simplify structure, remove cruft, make code conform closer to style guide, saves 350 Bytes.
2000-12-15 06:50:09 +00:00
Eric Andersen
02ced93ec2
Add GNU compatibile gzip -d
2000-12-13 17:55:11 +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