mirror of
https://github.com/OpenRC/openrc.git
synced 2024-11-23 18:03:51 +08:00
tmpfiles.sh: add support for C action
Recursively copies files or directories. Added by systemd in 849958d1.
This commit is contained in:
parent
6f3f50d453
commit
d4204a97a2
@ -80,6 +80,17 @@ _c() {
|
||||
fi
|
||||
}
|
||||
|
||||
_C() {
|
||||
# recursively copy a file or directory
|
||||
local path=$1 mode=$2 uid=$3 gid=$4 age=$5 arg=$6
|
||||
if [ ! -e "$path" ]; then
|
||||
dryrun_or_real cp -r "$arg" "$path"
|
||||
_restorecon "$path"
|
||||
[ $uid != '-' ] && dryrun_or_real chown "$uid" "$path"
|
||||
[ $gid != '-' ] && dryrun_or_real chgrp "$gid" "$path"
|
||||
[ $mode != '-' ] && dryrun_or_real chmod "$mode" "$path"
|
||||
fi
|
||||
}
|
||||
|
||||
_f() {
|
||||
# Create a file if it doesn't exist yet
|
||||
@ -325,7 +336,7 @@ for FILE in $tmpfiles_d ; do
|
||||
|
||||
# whine about invalid entries
|
||||
case $cmd in
|
||||
f|F|w|d|D|p|L|c|b|x|X|r|R|z|Z) ;;
|
||||
f|F|w|d|D|p|L|c|C|b|x|X|r|R|z|Z) ;;
|
||||
*) warninvalid ; continue ;;
|
||||
esac
|
||||
|
||||
@ -334,7 +345,7 @@ for FILE in $tmpfiles_d ; do
|
||||
case "$cmd" in
|
||||
p|f|F) mode=0644 ;;
|
||||
d|D) mode=0755 ;;
|
||||
z|Z|x|r|R|L) ;;
|
||||
C|z|Z|x|r|R|L) ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user