chiark / gitweb /
Add Mageia support
[elogind.git] / src / vconsole-setup.c
index 1be260bc2f41011b24fe78be83505a000c27426e..91967891f15115909fe9a1d34395b4e9506d8a23 100644 (file)
@@ -39,6 +39,7 @@
 #include "util.h"
 #include "log.h"
 #include "macro.h"
+#include "virt.h"
 
 static bool is_vconsole(int fd) {
         unsigned char data[1];
@@ -159,7 +160,7 @@ int main(int argc, char **argv) {
 #ifdef TARGET_GENTOO
         char *vc_unicode = NULL;
 #endif
-#ifdef TARGET_MANDRIVA
+#if defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA)
         char *vc_keytable = NULL;
 #endif
         int fd = -1;
@@ -171,12 +172,14 @@ int main(int argc, char **argv) {
         log_parse_environment();
         log_open();
 
+        umask(0022);
+
         if (argv[1])
                 vc = argv[1];
         else
                 vc = "/dev/tty0";
 
-        if ((fd = open(vc, O_RDWR|O_CLOEXEC)) < 0) {
+        if ((fd = open_terminal(vc, O_RDWR|O_CLOEXEC)) < 0) {
                 log_error("Failed to open %s: %m", vc);
                 goto finish;
         }
@@ -200,10 +203,6 @@ int main(int argc, char **argv) {
 
         if (detect_container(NULL) <= 0)
                 if ((r = parse_env_file("/proc/cmdline", WHITESPACE,
-#if defined(TARGET_FEDORA) || defined(TARGET_MEEGO)
-                                        "SYSFONT", &vc_font,
-                                        "KEYTABLE", &vc_keymap,
-#endif
                                         "vconsole.keymap", &vc_keymap,
                                         "vconsole.keymap.toggle", &vc_keymap_toggle,
                                         "vconsole.font", &vc_font,
@@ -372,7 +371,7 @@ int main(int argc, char **argv) {
                                 log_warning("Failed to read /etc/conf.d/keymaps: %s", strerror(-r));
                 }
 
-#elif defined(TARGET_MANDRIVA)
+#elif defined(TARGET_MANDRIVA) || defined (TARGET_MAGEIA)
 
                 if ((r = parse_env_file("/etc/sysconfig/i18n", NEWLINE,
                                         "SYSFONT", &vc_font,