summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexey Shabalin <a.shabalin@gmail.com>2011-02-08 12:50:56 +0100
committerLennart Poettering <lennart@poettering.net>2011-02-08 12:52:06 +0100
commita338bab5d0603a179befce062bc6fc8a6521a232 (patch)
tree3d6326e544326cf1f2054b2867b519c16be95bf2 /src
parent8d7cb6e0686214a7f57387d5c66cbc667a7f4659 (diff)
build-sys: initial support ALTLinux
Hi all! I added basic support for ALTLinux. Please see patch or http://git.altlinux.org/people/shaba/packages/systemd.git?p=systemd.git;a=shortlog;h=refs/heads/altlinux Thanks.
Diffstat (limited to 'src')
-rw-r--r--src/hostname-setup.c4
-rw-r--r--src/locale-setup.c10
-rw-r--r--src/util.c15
-rw-r--r--src/vconsole-setup.c18
4 files changed, 45 insertions, 2 deletions
diff --git a/src/hostname-setup.c b/src/hostname-setup.c
index 0428a64fea..8b0ff79384 100644
--- a/src/hostname-setup.c
+++ b/src/hostname-setup.c
@@ -30,7 +30,7 @@
#include "util.h"
#include "log.h"
-#if defined(TARGET_FEDORA)
+#if defined(TARGET_FEDORA) || defined(TARGET_ALTLINUX)
#define FILENAME "/etc/sysconfig/network"
#elif defined(TARGET_SUSE) || defined(TARGET_SLACKWARE) || defined(TARGET_FRUGALWARE)
#define FILENAME "/etc/HOSTNAME"
@@ -87,7 +87,7 @@ static int read_and_strip_hostname(const char *path, char **hn) {
static int read_distro_hostname(char **hn) {
-#if defined(TARGET_FEDORA) || defined(TARGET_ARCH) || defined(TARGET_GENTOO)
+#if defined(TARGET_FEDORA) || defined(TARGET_ARCH) || defined(TARGET_GENTOO) || defined(TARGET_ALTLINUX)
int r;
FILE *f;
diff --git a/src/locale-setup.c b/src/locale-setup.c
index 086647b720..9ac68d2f39 100644
--- a/src/locale-setup.c
+++ b/src/locale-setup.c
@@ -155,6 +155,16 @@ int locale_setup(void) {
log_warning("Failed to read /etc/rc.conf: %s", strerror(-r));
}
+#elif defined(TARGET_ALTLINUX)
+ if (r <= 0 &&
+ (r = parse_env_file("/etc/sysconfig/i18n", NEWLINE,
+ "LANG", &variables[VARIABLE_LANG],
+ NULL)) < 0) {
+
+ if (r != -ENOENT)
+ log_warning("Failed to read /etc/sysconfig/i18n: %s", strerror(-r));
+ }
+
#elif defined(TARGET_GENTOO)
/* Gentoo's openrc expects locale variables in /etc/env.d/
* These files are later compiled by env-update into shell
diff --git a/src/util.c b/src/util.c
index ef37d05751..7692a2d620 100644
--- a/src/util.c
+++ b/src/util.c
@@ -3017,6 +3017,21 @@ void status_welcome(void) {
if (!ansi_color)
const_color = "1;34"; /* Light Blue for Gentoo */
+#elif defined(TARGET_ALTLINUX)
+
+ if (!pretty_name) {
+ if ((r = read_one_line_file("/etc/altlinux-release", &pretty_name)) < 0) {
+
+ if (r != -ENOENT)
+ log_warning("Failed to read /etc/altlinux-release: %s", strerror(-r));
+ } else
+ truncate_nl(pretty_name);
+ }
+
+ if (!ansi_color)
+ const_color = "0;36"; /* Cyan for ALTLinux */
+
+
#elif defined(TARGET_DEBIAN)
if (!pretty_name) {
diff --git a/src/vconsole-setup.c b/src/vconsole-setup.c
index d05c277ad9..1952dfb0f1 100644
--- a/src/vconsole-setup.c
+++ b/src/vconsole-setup.c
@@ -280,6 +280,24 @@ int main(int argc, char **argv) {
if (r != -ENOENT)
log_warning("Failed to read /etc/sysconfig/font: %s", strerror(-r));
}
+
+#elif defined(TARGET_ALTLINUX)
+ if ((r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE,
+ "KEYTABLE", &vc_keymap,
+ NULL)) < 0) {
+
+ if (r != -ENOENT)
+ log_warning("Failed to read /etc/sysconfig/keyboard: %s", strerror(-r));
+ }
+
+ if ((r = parse_env_file("/etc/sysconfig/consolefont", NEWLINE,
+ "SYSFONT", &vc_font,
+ NULL)) < 0) {
+
+ if (r != -ENOENT)
+ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r));
+ }
+
#elif defined(TARGET_GENTOO)
if ((r = parse_env_file("/etc/rc.conf", NEWLINE,
"unicode", &vc_unicode,