94 lines
4.1 KiB
Diff
94 lines
4.1 KiB
Diff
|
From 4ef45f13f4d11c86c4c8c3fd8d8a6be2c5b4deef Mon Sep 17 00:00:00 2001
|
||
|
From: Harald Hoyer <harald@redhat.com>
|
||
|
Date: Mon, 21 Jul 2014 16:58:15 +0200
|
||
|
Subject: [PATCH] dracut-functions.sh: fix inst*() functions for "-H" handling
|
||
|
|
||
|
because some inst*() functions check the existance of the source files
|
||
|
and do not know about the "-H" option, some failed to install the
|
||
|
hostonly files.
|
||
|
---
|
||
|
dracut-functions.sh | 46 ++++++++++++++++++++++++++++++++--------------
|
||
|
1 file changed, 32 insertions(+), 14 deletions(-)
|
||
|
|
||
|
diff --git a/dracut-functions.sh b/dracut-functions.sh
|
||
|
index 9f481b2..6cdfea0 100755
|
||
|
--- a/dracut-functions.sh
|
||
|
+++ b/dracut-functions.sh
|
||
|
@@ -760,33 +760,46 @@ inst_dir() {
|
||
|
}
|
||
|
|
||
|
inst() {
|
||
|
+ local _hostonly_install
|
||
|
+ if [[ "$1" == "-H" ]]; then
|
||
|
+ _hostonly_install="-H"
|
||
|
+ shift
|
||
|
+ fi
|
||
|
[[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there
|
||
|
- #dinfo "$DRACUT_INSTALL -l $@"
|
||
|
- $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@"
|
||
|
- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || :
|
||
|
+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@"
|
||
|
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || :
|
||
|
}
|
||
|
|
||
|
inst_simple() {
|
||
|
+ local _hostonly_install
|
||
|
+ if [[ "$1" == "-H" ]]; then
|
||
|
+ _hostonly_install="-H"
|
||
|
+ shift
|
||
|
+ fi
|
||
|
[[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there
|
||
|
[[ -e $1 ]] || return 1 # no source
|
||
|
- $DRACUT_INSTALL ${initdir:+-D "$initdir"} "$@"
|
||
|
- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} "$@" || :
|
||
|
+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${_hostonly_install:+-H} "$@"
|
||
|
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${_hostonly_install:+-H} "$@" || :
|
||
|
}
|
||
|
|
||
|
inst_symlink() {
|
||
|
+ local _hostonly_install
|
||
|
+ if [[ "$1" == "-H" ]]; then
|
||
|
+ _hostonly_install="-H"
|
||
|
+ shift
|
||
|
+ fi
|
||
|
[[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there
|
||
|
[[ -L $1 ]] || return 1
|
||
|
- $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@"
|
||
|
- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || :
|
||
|
+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@"
|
||
|
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || :
|
||
|
}
|
||
|
|
||
|
inst_multiple() {
|
||
|
- local ret
|
||
|
- #dinfo "initdir=$initdir $DRACUT_INSTALL -l $@"
|
||
|
+ local _ret
|
||
|
$DRACUT_INSTALL ${initdir:+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@"
|
||
|
- ret=$?
|
||
|
- (($ret != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || :
|
||
|
- return $ret
|
||
|
+ _ret=$?
|
||
|
+ (($_ret != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} -a ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || :
|
||
|
+ return $_ret
|
||
|
}
|
||
|
|
||
|
dracut_install() {
|
||
|
@@ -794,10 +807,15 @@ dracut_install() {
|
||
|
}
|
||
|
|
||
|
inst_library() {
|
||
|
+ local _hostonly_install
|
||
|
+ if [[ "$1" == "-H" ]]; then
|
||
|
+ _hostonly_install="-H"
|
||
|
+ shift
|
||
|
+ fi
|
||
|
[[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there
|
||
|
[[ -e $1 ]] || return 1 # no source
|
||
|
- $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@"
|
||
|
- (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@" || :
|
||
|
+ $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@"
|
||
|
+ (($? != 0)) && derror $DRACUT_INSTALL ${initdir:+-D "$initdir"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@" || :
|
||
|
}
|
||
|
|
||
|
inst_binary() {
|