You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
4.5 KiB
127 lines
4.5 KiB
From dac45f997e6868ffba23610167c8bcb7476b0f96 Mon Sep 17 00:00:00 2001 |
|
From: Harald Hoyer <harald@redhat.com> |
|
Date: Thu, 5 Dec 2013 16:42:05 +0100 |
|
Subject: [PATCH] i18n: introduce i18n_install_all, to install everything |
|
|
|
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 | 14 ++++++++++++-- |
|
dracut.conf.d/fedora.conf.example | 1 + |
|
modules.d/10i18n/module-setup.sh | 31 +++++++++++++++++-------------- |
|
3 files changed, 30 insertions(+), 16 deletions(-) |
|
|
|
diff --git a/dracut.conf.5.asc b/dracut.conf.5.asc |
|
index c9c854a9..30b7e030 100644 |
|
--- a/dracut.conf.5.asc |
|
+++ b/dracut.conf.5.asc |
|
@@ -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_:: |
|
diff --git a/dracut.conf.d/fedora.conf.example b/dracut.conf.d/fedora.conf.example |
|
index 1a56a864..495e8fb3 100644 |
|
--- a/dracut.conf.d/fedora.conf.example |
|
+++ b/dracut.conf.d/fedora.conf.example |
|
@@ -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 " |
|
diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh |
|
index 2a837280..413ee123 100755 |
|
--- a/modules.d/10i18n/module-setup.sh |
|
+++ b/modules.d/10i18n/module-setup.sh |
|
@@ -18,15 +18,11 @@ depends() { |
|
|
|
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" |
|
@@ -207,10 +203,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 |
|
} |
|
|
|
@@ -234,16 +240,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 |
|
} |
|
-
|
|
|