]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
i18n: introduce i18n_install_all, to install everything
authorHarald Hoyer <harald@redhat.com>
Thu, 5 Dec 2013 15:42:05 +0000 (16:42 +0100)
committerHarald Hoyer <harald@redhat.com>
Thu, 5 Dec 2013 15:42:05 +0000 (16:42 +0100)
if i18n_install_all is set to "yes", then install all keyboard layouts
and fonts regardless of the hostonly setting.

This way, people can switch keyboard layouts, without having to recreate
the initramfs.

dracut.conf.5.asc
dracut.conf.d/fedora.conf.example
modules.d/10i18n/module-setup.sh

index c9c854a9589fe6c72cf34fe4427409184b46f404..30b7e03066ece91a89d3ca062d55df2bc26d6654 100644 (file)
@@ -122,10 +122,10 @@ If chrooted to another root other than the real root device, use --fstab and pro
 *kernel_only=*"__{yes|no}__"::
     Only install kernel drivers and firmware files. (default=no)
 
-*no_kernel=*"{yes|no}"::
+*no_kernel=*"__{yes|no}__"::
     Do not install kernel drivers and firmware files (default=no)
 
-*acpi_override=*"{yes|no}"::
+*acpi_override=*"__{yes|no}__"::
     [WARNING] ONLY USE THIS IF YOU KNOW WHAT YOU ARE DOING! +
     Override BIOS provided ACPI tables. For further documentation read
     Documentation/acpi/initrd_table_override.txt in the kernel sources.
@@ -158,6 +158,16 @@ If chrooted to another root other than the real root device, use --fstab and pro
 *show_modules=*"__{yes|no}__"::
     Print the name of the included modules to standard output during build.
 
+*i18n_vars="__<variable mapping>__"::
+    Distribution specific variable mapping.
+    See dracut/modules.d/10i18n/README for a detailed description.
+
+*i18n_default_font=*"__<fontname>__"::
+    The font <fontname> to install, if not specified otherwise. Default is "LatArCyrHeb-16".
+
+*i18n_install_all=*"__{yes|no}__"::
+    Install everything regardless of generic or hostonly mode.
+
 Files
 -----
 _/etc/dracut.conf_::
index 1a56a864bdaac2acde7bd61d08949a6f1e2d8990..495e8fb377fd7020003015e7a6e4dd461cb4b961 100644 (file)
@@ -3,6 +3,7 @@
 # i18n
 i18n_vars="/etc/sysconfig/keyboard:KEYTABLE-KEYMAP /etc/sysconfig/i18n:SYSFONT-FONT,FONTACM-FONT_MAP,FONT_UNIMAP"
 i18n_default_font="latarcyrheb-sun16"
+i18n_install_all="yes"
 stdloglvl=3
 sysloglvl=5
 install_items+=" vi /etc/virc ps grep cat rm "
index f07b148e297559223f400501192e24a30360eaa0..fcb18d17468d85b9a5d580b4d1d489a72f893501 100755 (executable)
@@ -21,15 +21,11 @@ depends() {
 # called by dracut
 install() {
     if dracut_module_included "systemd"; then
-        [[ -f /etc/vconsole.conf ]] || return 0
         unset FONT
         unset KEYMAP
-        . /etc/vconsole.conf
-        # if vconsole.conf has no settings, do not include anything
-        [[ $FONT ]] || [[ $KEYMAP ]] || return 0
+        [[ -f /etc/vconsole.conf ]] && . /etc/vconsole.conf
     fi
 
-    inst_multiple -o $systemdutildir/systemd-vconsole-setup
     KBDSUBDIRS=consolefonts,consoletrans,keymaps,unimaps
     DEFAULT_FONT="${i18n_default_font:-LatArCyrHeb-16}"
     I18N_CONF="/etc/locale.conf"
@@ -213,10 +209,20 @@ install() {
             inst_simple ${kbddir}/unimaps/${FONT_UNIMAP}.uni
         fi
 
-        mksubdirs ${initdir}${I18N_CONF}
-        mksubdirs ${initdir}${VCONFIG_CONF}
-        print_vars LC_ALL LANG >> ${initdir}${I18N_CONF}
-        print_vars KEYMAP EXT_KEYMAPS UNICODE FONT FONT_MAP FONT_UNIMAP >> ${initdir}${VCONFIG_CONF}
+        if dracut_module_included "systemd" && [[ -f ${I18N_CONF} ]]; then
+            inst_simple ${I18N_CONF}
+        else
+            mksubdirs ${initdir}${I18N_CONF}
+            print_vars LC_ALL LANG >> ${initdir}${I18N_CONF}
+        fi
+
+        if dracut_module_included "systemd" && [[ -f ${VCONFIG_CONF} ]]; then
+            inst_simple ${VCONFIG_CONF}
+        else
+            mksubdirs ${initdir}${VCONFIG_CONF}
+            print_vars KEYMAP EXT_KEYMAPS UNICODE FONT FONT_MAP FONT_UNIMAP >> ${initdir}${VCONFIG_CONF}
+        fi
+
         return 0
     }
 
@@ -240,16 +246,13 @@ install() {
         return 0
     }
 
-    if checks
-    then
+    if checks; then
         install_base
 
-        if [[ ${hostonly} ]]
-        then
+        if [[ ${hostonly} ]] && ! [[ ${i18n_install_all} ]]; then
             install_local_i18n || install_all_kbd
         else
             install_all_kbd
         fi
     fi
 }
-