tar: add TODO about a bug with non-writable directories on extract
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
49fd1d69ba
commit
9daa877d6b
@ -159,6 +159,10 @@ void FAST_FUNC data_extract_all(archive_handle_t *archive_handle)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case S_IFDIR:
|
case S_IFDIR:
|
||||||
|
//TODO: this causes problems if tarball contains a r-xr-xr-x directory:
|
||||||
|
// we create this directory, and then fail to create files inside it
|
||||||
|
// (if tar xf isn't run as root).
|
||||||
|
// GNU tar works around this by chmod-ing directories *after* all files are extracted.
|
||||||
res = mkdir(dst_name, file_header->mode);
|
res = mkdir(dst_name, file_header->mode);
|
||||||
if ((res != 0)
|
if ((res != 0)
|
||||||
&& (errno != EISDIR) /* btw, Linux doesn't return this */
|
&& (errno != EISDIR) /* btw, Linux doesn't return this */
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
#svn co svn://busybox.net/trunk/busybox
|
#svn co svn://busybox.net/trunk/busybox
|
||||||
cd busybox || { echo "cd busybox failed"; exit 1; }
|
cd busybox || { echo "cd busybox failed"; exit 1; }
|
||||||
|
chmod -Rc u+w,a+rX,go-w .
|
||||||
make release || { echo "make release failed"; exit 1; }
|
make release || { echo "make release failed"; exit 1; }
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user