Dracut rely upon programs' output like ldd's "not a dynamic executable".
Assume user sets up Polish locales and then ldd prints
"nie jest dynamicznym programem wykonywalnym".  The patch prevents this.
---
 dracut |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/dracut b/dracut
index 3be4989..1437625 100755
--- a/dracut
+++ b/dracut
@@ -71,6 +71,17 @@ Creates initial ramdisk images for preloading modules
 "
 }
 
+# Change locales and language leaving existing suffix (.utf8 or similar).
+# $1 = language (e.g. en_US)
+change_locales() {
+    local lang=(${LANG/./ })
+    lang[0]=$1                                                                 
       
+    lang=${la...@]}
+    LANG=${lang/ /.}
+    LC_ALL=${LANG}
+    export LANG LC_ALL
+}
+
 while (($# > 0)); do
     case $1 in
        -f|--force) force=yes;;
@@ -107,6 +118,10 @@ done
 
 PATH=/sbin:/bin:/usr/sbin:/usr/bin
 export PATH
+# We rely upon programs' output like ldd's "not found", so we have to
+# set up English locales.
+change_locales en_US
+
 
 [[ $debug ]] && { 
     export PS4='${bash_sour...@${lineno}(${FUNCNAME[0]}): ';
-- 
1.7.1

Attachment: signature.asc
Description: PGP signature

Reply via email to