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
signature.asc
Description: PGP signature
