Browse Source

dracut-functions: if .hmac files are present, install them also

For FIPS mode, we need all checksum files, called .<filename>.hmac. So,
if we find one, we install it.
master
Harald Hoyer 14 years ago
parent
commit
5242d8fb57
  1. 22
      dracut-functions

22
dracut-functions

@ -255,13 +255,17 @@ inst_dir() {
# Location of the image dir is assumed to be $initdir # Location of the image dir is assumed to be $initdir
# We never overwrite the target if it exists. # We never overwrite the target if it exists.
inst_simple() { inst_simple() {
local src target local src target
[[ -f $1 ]] || return 1 [[ -f $1 ]] || return 1
src=$1 target="${2:-$1}" src=$1 target="${2:-$1}"
if ! [[ -d ${initdir}$target ]]; then if ! [[ -d ${initdir}$target ]]; then
[[ -e ${initdir}$target ]] && return 0 [[ -e ${initdir}$target ]] && return 0
inst_dir "${target%/*}" inst_dir "${target%/*}"
fi fi
# install checksum files also
if [[ -e "${src%/*}/.${src##*/}.hmac" ]]; then
inst "${src%/*}/.${src##*/}.hmac" "${target%/*}/.${target##*/}.hmac"
fi
dinfo "Installing $src" dinfo "Installing $src"
cp -pfL "$src" "${initdir}$target" cp -pfL "$src" "${initdir}$target"
} }
@ -298,15 +302,15 @@ inst_library() {
local src=$1 dest=${2:-$1} lib reallib symlink local src=$1 dest=${2:-$1} lib reallib symlink
[[ -e $initdir$dest ]] && return 0 [[ -e $initdir$dest ]] && return 0
if [[ -L $src ]]; then if [[ -L $src ]]; then
reallib=$(readlink -f "$src") # install checksum files also
lib=${src##*/} if [[ -e "${src%/*}/.${src##*/}.hmac" ]]; then
inst_simple "$reallib" "$reallib" inst "${src%/*}/.${src##*/}.hmac" "${dest%/*}/.${dest##*/}.hmac"
inst_dir "${dest%/*}"
if [[ -L ${initdir}${dest%/*} ]]; then
dest=$(readlink -f ${initdir}${dest%/*})/
dest=${dest#${initdir}}
fi fi
(cd "${initdir}${dest%/*}" && ln -s "$reallib" "$lib") reallib=$(readlink -f "$src")
lib=${src##*/}
inst_simple "$reallib" "$reallib"
inst_dir "${dest%/*}"
(cd "${initdir}${dest%/*}" && ln -s "$reallib" "$lib")
else else
inst_simple "$src" "$dest" inst_simple "$src" "$dest"
fi fi

Loading…
Cancel
Save