Sophie

Sophie

distrib > Mageia > 9 > armv7hl > media > core-release-src > by-pkgid > 71a1ba4a20ff0a01d79300b8413dde5d > files > 12

dracut-057-4.mga9.src.rpm

From 2479a83bc5362af4b0ddd2c80332c2b748eac0be Mon Sep 17 00:00:00 2001
From: Colin Guthrie <colin@mageia.org>
Date: Sun, 24 Feb 2013 19:48:57 +0000
Subject: [PATCH 509/514] dracut-init.sh: Make sure to install full path
 PROGRAM= binaries in udev rules.

---
 dracut-init.sh | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/dracut-init.sh b/dracut-init.sh
index e8a705ec..d3e11f18 100644
--- a/dracut-init.sh
+++ b/dracut-init.sh
@@ -380,7 +380,9 @@ inst_rule_programs() {
     for _prog in $(sed -nr 's/.*PROGRAM==?"([^ "]+).*/\1/p' "$1"); do
         _bin=""
         # shellcheck disable=SC2154
-        if [[ -x ${udevdir}/$_prog ]]; then
+        if [ "/" = "${_prog::1}" -a -x $_prog ]; then
+            _bin=$_prog
+        elif [[ -x ${udevdir}/$_prog ]]; then
             _bin="${udevdir}"/$_prog
         elif [[ ${_prog/\$env\{/} == "$_prog" ]]; then
             _bin=$(find_binary "$_prog") || {
@@ -395,7 +397,9 @@ inst_rule_programs() {
     # shellcheck disable=SC2013
     for _prog in $(sed -nr 's/.*RUN[+=]=?"([^ "]+).*/\1/p' "$1"); do
         _bin=""
-        if [[ -x ${udevdir}/$_prog ]]; then
+        if [ "/" = "${_prog::1}" -a -x $_prog ]; then
+            _bin=$_prog
+        elif [[ -x ${udevdir}/$_prog ]]; then
             _bin=${udevdir}/$_prog
         elif [[ ${_prog/\$env\{/} == "$_prog" ]] && [[ ${_prog} != "/sbin/initqueue" ]]; then
             _bin=$(find_binary "$_prog") || {
@@ -410,7 +414,9 @@ inst_rule_programs() {
     # shellcheck disable=SC2013
     for _prog in $(sed -nr 's/.*IMPORT\{program\}==?"([^ "]+).*/\1/p' "$1"); do
         _bin=""
-        if [[ -x ${udevdir}/$_prog ]]; then
+        if [ "/" = "${_prog::1}" -a -x $_prog ]; then
+            _bin=$_prog
+        elif [[ -x ${udevdir}/$_prog ]]; then
             _bin=${udevdir}/$_prog
         elif [[ ${_prog/\$env\{/} == "$_prog" ]]; then
             _bin=$(find_binary "$_prog") || {
-- 
2.13.5