if [ "$1" = "btrfs" ]
then
- for FQ_DIRECTORY in $BASE_CONTAINER_PATH/rootfs/*
- do
- DIRECTORY=$(basename $FQ_DIRECTORY)
- case "$DIRECTORY" in
- "dev" | "proc")
- # already mounted, skip
- ;;
- *)
- # each container modifies its own version
- cp --archive $FQ_DIRECTORY $CONTAINER_BUILDROOT
- ;;
- esac
- done
+ # each container modifies its own version
+ cp --archive $BASE_CONTAINER_PATH/rootfs/* $CONTAINER_BUILDROOT
else
for FQ_DIRECTORY in $BASE_CONTAINER_PATH/rootfs/*
do
# common for all containers
cp --archive --link $FQ_DIRECTORY $CONTAINER_BUILDROOT
;;
- "dev" | "proc")
- # already mounted, skip
- ;;
*)
# each container must have its own version
cp --archive $FQ_DIRECTORY $CONTAINER_BUILDROOT
umount $CONTAINER_BUILDROOT/dev
umount $CONTAINER_BUILDROOT/proc
umount $CONTAINER_BUILDROOT/sys
+ rmdir $CONTAINER_BUILDROOT/dev
+ rmdir $CONTAINER_BUILDROOT/proc
+ rmdir $CONTAINER_BUILDROOT/sys
}
unprivilege()
find $CONTAINER_BUILDROOT -uid -100000 | while read PRIV_UID_FILE
do
- ls -l $PRIV_UID_FILE
+ ls --directory -l $PRIV_UID_FILE
PRIV_UID=$(stat --format="%u" $PRIV_UID_FILE)
UNPRIV_UID=$(( $PRIV_UID + 100000 ))
chown --no-dereference $UNPRIV_UID $PRIV_UID_FILE
find $CONTAINER_BUILDROOT -gid -100000 | while read PRIV_GID_FILE
do
- ls -l $PRIV_GID_FILE
+ ls --directory -l $PRIV_GID_FILE
PRIV_GID=$(stat --format="%g" $PRIV_GID_FILE)
UNPRIV_GID=$(( $PRIV_GID + 100000 ))
chgrp --no-dereference $UNPRIV_GID $PRIV_GID_FILE
umount $CONTAINER_PATH/rootfs/dev
umount $CONTAINER_PATH/rootfs/proc
umount $CONTAINER_PATH/rootfs/sys
+ rmdir $CONTAINER_PATH/rootfs/dev
+ rmdir $CONTAINER_PATH/rootfs/proc
+ rmdir $CONTAINER_PATH/rootfs/sys
}
unprivilege()