Update of /cvsroot/devil-linux/build/config/etc/init.d
In directory sc8-pr-cvs1:/tmp/cvs-serv24895/config/etc/init.d
Modified Files:
jail
Log Message:
- fixed the corner case when an empty directory is being copied to the jail
dir (fl)
Index: jail
===================================================================
RCS file: /cvsroot/devil-linux/build/config/etc/init.d/jail,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- jail 24 Dec 2003 01:18:33 -0000 1.24
+++ jail 26 Dec 2003 14:34:39 -0000 1.25
@@ -81,9 +81,13 @@
function copy_files_links()
{
FILES=$1
- [ -d "$FILES" ] && FILES=$FILES/*
-
- for FILE in $(ls -d $FILES)
+ if [ -d "$FILES" ]; then
+ mkdir -p $JAILDIR/$FILES
+ chown -f --reference=$FILES $JAILDIR/$FILES
+ FILES=$FILES/*
+ fi
+
+ for FILE in $(ls -d $FILES 2>/dev/null)
do
if [ -d "$FILE" ]; then
# a subdirectory found
@@ -91,9 +95,11 @@
else
# a file or symlink found
TARGETDIR=${FILE%/*}
- FILE=$FILE
- mkdir -p $JAILDIR/$TARGETDIR
- chown -f --reference=$TARGETDIR $JAILDIR/$TARGETDIR
+ if [ ! -d $JAILDIR/$TARGETDIR ]; then
+ # in case $1 contained only a file we have to create the directory
+ mkdir -p $JAILDIR/$TARGETDIR
+ chown -f --reference=$TARGETDIR $JAILDIR/$TARGETDIR
+ fi
cp -dfpR $FILE $JAILDIR/$TARGETDIR
if [ -L "$FILE" ]; then
LINK=$(read_link $FILE)
|