Jeremie Koenig
84b01d5afc
mkdir: fix -p on FreeBSD
...
This patch is libbb.make_directory.diff from Debian kFreeBSD at:
http://svn.debian.org/viewsvn/d-i/people/slackydeb/kfreebsd/busybox/1.14/debian
Signed-off-by: Jeremie Koenig <jk@jk.fr.eu.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-19 00:46:28 +02: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
6331cf059c
*: use "can't" instead of "cannot"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-13 09:08:27 +01:00
Denis Vlasenko
582dff0514
volume identification: abolish /proc/partitions and /proc/cdroms
...
scanning. It does not catch volume managers and such.
Adding even more cruft is bad, so I decided to simply
scan /dev/* for any block devices. See how much better
it finds devices now:
# ./busybox_old blkid
/dev/sda1: LABEL="/boot" UUID="7931e231-dcb4-4b6d-9301-f7354ae24061"
/dev/dm-0: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a"
/dev/dm-1: UUID="edc2a920-ef83-437e-ba64-d3b6dc851267"
/dev/sdb1: UUID="6F84-ED0F"
# ./busybox blkid
/dev/sdb1: UUID="6F84-ED0F"
/dev/root: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a"
/dev/dm-1: UUID="edc2a920-ef83-437e-ba64-d3b6dc851267"
/dev/dm-0: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a"
/dev/sda1: LABEL="/boot" UUID="7931e231-dcb4-4b6d-9301-f7354ae24061"
/dev/mapper/VolGroup00-LogVol01: UUID="edc2a920-ef83-437e-ba64-d3b6dc851267"
/dev/mapper/VolGroup00-LogVol00: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a"
function old new delta
static.drive_name_string 12 - -12
append_mount_options 205 190 -15
volume_id_open_node 37 18 -19
uuidcache_check_device 485 257 -228
uuidcache_init 637 36 -601
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/4 up/down: 0/-875) Total: -875 bytes
text data bss dec hex filename
792218 592 6648 799458 c32e2 busybox_old
791260 592 6648 798500 c2f24 busybox_unstripped
2008-10-19 19:36:30 +00:00
Denis Vlasenko
11152e30e3
mkdir: fix "uname 0222; mkdir foo/bar" case
...
(by Doug Graham <dgraham AT nortel.com>)
function old new delta
bb_make_directory 291 280 -11
2008-08-15 19:18:35 +00:00
Denis Vlasenko
defc1ea340
*: introduce and use FAST_FUNC: regparm on i386, otherwise no-on
...
text data bss dec hex filename
808035 611 6868 815514 c719a busybox_old
804472 611 6868 811951 c63af busybox_unstripped
2008-06-27 02:52:20 +00:00
Denis Vlasenko
501bfe2630
stat: fix option -Z segv (bug 1454)
2007-08-09 08:10:13 +00:00
Denis Vlasenko
99912ca733
audit small applets and mark some of them as NOFORK.
...
Put big scary warnings in relevant places.
2007-04-10 15:43:37 +00:00
Denis Vlasenko
e1a0d486e4
message string changes, mostly for consistency, also -32 bytes in .rodata
2006-10-20 13:28:22 +00:00
"Robert P. J. Day"
5d8843e451
Replace current verbose GPL stuff in libbb/*.c with one-line GPL boilerplate.
2006-07-10 11:41:19 +00:00
Eric Andersen
0e020d1025
Make certain clients of bb_make_directory default to honoring
...
the user's umask
2004-10-13 06:25:52 +00:00
Eric Andersen
2842659cc0
Patch from Michael Tokarev:
...
Scenario:
touch x -- creates plain file name `x'
mkdir x -- exits successefully
libbb/make_directory.c, bb_make_directory(), contains
the following code:
if (mkdir(path, 0777) < 0) {
/* If we failed for any other reason than the directory
* already exists, output a diagnostic and return -1.*/
if (errno != EEXIST) {
fail_msg = "create";
umask(mask);
break;
}
/* Since the directory exists, don't attempt to change
* permissions if it was the full target. Note that
* this is not an error conditon. */
if (!c) {
umask(mask);
return 0;
}
}
The assumption that EEXIST error is due to that the *directory*
already exists is wrong: any file type with that name will cause
this error to be returned. Proper way IMHO will be is to stat()
the path and check whenever this is really a directory. Below
(attached) is a patch to fix this issue.
2004-10-08 07:21:58 +00:00
Eric Andersen
aff114c33d
Larry Doolittle writes:
...
This is a bulk spelling fix patch against busybox-1.00-pre10.
If anyone gets a corrupted copy (and cares), let me know and
I will make alternate arrangements.
Erik - please apply.
Authors - please check that I didn't corrupt any meaning.
Package importers - see if any of these changes should be
passed to the upstream authors.
I glossed over lots of sloppy capitalizations, missing apostrophes,
mixed American/British spellings, and German-style compound words.
What is "pretect redefined for test" in cmdedit.c?
Good luck on the 1.00 release!
- Larry
2004-04-14 17:51:38 +00:00
Manuel Novoa III
cad5364599
Major coreutils update.
2003-03-19 09:13:01 +00:00
Glenn L McGrath
5b110874df
Dont need a seperate function
2002-11-24 23:22:29 +00:00
Glenn L McGrath
822e7fd587
When making parent directories set permissions based on the base parent tree rather than the new directory to be created.
2002-11-24 22:48:20 +00:00
Glenn L McGrath
4298e87fa5
Dont try and make the "/" directory
2002-10-19 23:56:41 +00:00
Glenn L McGrath
891ee641cb
Fail straight away rather than recursively printing error messages :)
2002-09-28 08:30:47 +00:00
Glenn L McGrath
b3f7261ffe
Fix error messages conditions, and make them the same as GNU mkdir.
2002-09-22 02:12:30 +00:00
Glenn L McGrath
193697db4e
Dont return an error if the directory already existed
2002-08-24 20:11:38 +00:00
Glenn L McGrath
210aa14916
Fix warning
2002-08-24 20:00:52 +00:00
Glenn L McGrath
fbef225c4b
Rewrite, its smaller
2002-08-23 17:19:26 +00:00
Matt Kraai
ac20ce1924
Canonicalize dirname(3) behavior.
2001-08-24 19:51:54 +00:00
Matt Kraai
2a953aed38
Fix a memory leak if parent directory creation failed.
2001-08-24 19:07:31 +00:00
Eric Andersen
879d6c85af
make_directory used mode as if it were an signed entity, but in fact
...
it was a mode_t which is unsigned. Fix it to be signed...
-Erik
2001-08-02 09:58:19 +00:00
Eric Andersen
764303f980
stdlib.h defined free(), which this needs
2001-06-22 03:07:19 +00:00
Matt Kraai
ceeff73819
Rewrote mkdir (and touched lots of things in the process).
2001-06-21 19:41:37 +00:00