dracut-functions: new function: inst_any [-d dest] f1 [f2 [f3 ...]]
parent
641d84a4ec
commit
3378a54f15
|
|
@ -537,6 +537,34 @@ inst_hook() {
|
|||
inst_simple "$3" "/lib/dracut/hooks/${1}/${2}${3##*/}"
|
||||
}
|
||||
|
||||
# install any of listed files
|
||||
#
|
||||
# If first argument is '-d' and second some destination path, first accessible
|
||||
# source is installed into this path, otherwise it will installed in the same
|
||||
# path as source. If none of listed files was installed, function return 1.
|
||||
# On first successful installation it returns with 0 status.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# inst_any -d /bin/foo /bin/bar /bin/baz
|
||||
#
|
||||
# Lets assume that /bin/baz exists, so it will be installed as /bin/foo in
|
||||
# initramfs.
|
||||
inst_any() {
|
||||
local to f
|
||||
|
||||
[[ $1 = '-d' ]] && to="$2" && shift 2
|
||||
|
||||
for f in "$@"; do
|
||||
if [[ -e $f ]]; then
|
||||
[[ $to ]] && inst "$f" "$to" && return 0
|
||||
inst "$f" && return 0
|
||||
fi
|
||||
done
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
dracut_install() {
|
||||
local _optional=no
|
||||
if [[ $1 = '-o' ]]; then
|
||||
|
|
|
|||
Loading…
Reference in New Issue