From 8d95b8b338d65188c517b3bda8a4697867c6ef01 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Mon, 18 Jun 2012 12:52:39 +0200 Subject: [PATCH] Set some global variables in dracut-functions.sh --- dracut-functions.sh | 34 +++++++++++++++++++++++++++++++--- dracut.sh | 22 ---------------------- 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/dracut-functions.sh b/dracut-functions.sh index 68c81f2..1137919 100755 --- a/dracut-functions.sh +++ b/dracut-functions.sh @@ -20,6 +20,9 @@ # along with this program. If not, see . # +# Generic substring function. If $2 is in $1, return 0. +strstr() { [ "${1#*$2*}" != "$1" ]; } + if ! [[ $dracutbasedir ]]; then dracutbasedir=${BASH_SOURCE[0]%/*} [[ $dracutbasedir = "dracut-functions" ]] && dracutbasedir="." @@ -27,6 +30,34 @@ if ! [[ $dracutbasedir ]]; then dracutbasedir="$(readlink -f $dracutbasedir)" fi +# Detect lib paths +if ! [[ $libdirs ]] ; then + if strstr "$(ldd /bin/sh)" "/lib64/" &>/dev/null \ + && [[ -d /lib64 ]]; then + libdirs+=" /lib64" + [[ -d /usr/lib64 ]] && libdirs+=" /usr/lib64" + else + libdirs+=" /lib" + [[ -d /usr/lib ]] && libdirs+=" /usr/lib" + fi + export libdirs +fi + +if ! [[ $kernel ]]; then + kernel=$(uname -r) + export kernel +fi + +srcmods="/lib/modules/$kernel/" +[[ $drivers_dir ]] && { + if vercmp $(modprobe --version | cut -d' ' -f3) lt 3.7; then + dfatal 'To use --kmoddir option module-init-tools >= 3.7 is required.' + exit 1 + fi + srcmods="$drivers_dir" +} +export srcmods + if ! type dinfo >/dev/null 2>&1; then . "$dracutbasedir/dracut-logger.sh" dlog_init @@ -41,9 +72,6 @@ fi export hookdirs } -# Generic substring function. If $2 is in $1, return 0. -strstr() { [ "${1#*$2*}" != "$1" ]; } - # Create all subdirectories for given path without creating the last element. # $1 = path mksubdirs() { mkdir -m 0755 -p ${1%/*}; } diff --git a/dracut.sh b/dracut.sh index 919f78e..5600ec0 100755 --- a/dracut.sh +++ b/dracut.sh @@ -531,18 +531,6 @@ ddebug "Executing $0 $dracut_args" exit 0 } -# Detect lib paths -if ! [[ $libdirs ]] ; then - if strstr "$(ldd /bin/sh)" "/lib64/" &>/dev/null \ - && [[ -d /lib64 ]]; then - libdirs+=" /lib64" - [[ -d /usr/lib64 ]] && libdirs+=" /usr/lib64" - else - libdirs+=" /lib" - [[ -d /usr/lib ]] && libdirs+=" /usr/lib" - fi -fi - # This is kinda legacy -- eventually it should go away. case $dracutmodules in ""|auto) dracutmodules="all" ;; @@ -550,16 +538,6 @@ esac abs_outfile=$(readlink -f "$outfile") && outfile="$abs_outfile" -srcmods="/lib/modules/$kernel/" -[[ $drivers_dir ]] && { - if vercmp $(modprobe --version | cut -d' ' -f3) lt 3.7; then - dfatal 'To use --kmoddir option module-init-tools >= 3.7 is required.' - exit 1 - fi - srcmods="$drivers_dir" -} -export srcmods - [[ -f $srcmods/modules.dep ]] || { dfatal "$srcmods/modules.dep is missing. Did you run depmod?" exit 1