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.
This commit is contained in:
Alexey Shabalin 2011-02-08 12:50:56 +01:00 committed by Lennart Poettering
parent 8d7cb6e068
commit a338bab5d0
7 changed files with 60 additions and 3 deletions

View File

@ -269,7 +269,7 @@ AM_CONDITIONAL(HAVE_XSLTPROC, test x"$XSLTPROC" != x)
AC_PATH_PROG([M4], [m4])
AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, ubuntu, arch, gentoo, slackware or other]))
AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, ubuntu, arch, gentoo, slackware, altlinux or other]))
if test "z$with_distro" = "z"; then
if test "$cross_compiling" = yes; then
AC_MSG_WARN([Target distribution cannot be reliably detected when cross-compiling. You should specify it with --with-distro (see $0 --help for recognized distros)])
@ -281,6 +281,7 @@ if test "z$with_distro" = "z"; then
test -f "/etc/gentoo-release" && with_distro="gentoo"
test -f "/etc/slackware-version" && with_distro="slackware"
test -f "/etc/frugalware-release" && with_distro="frugalware"
test -f "/etc/altlinux-release" && with_distro="altlinux"
if test "x`lsb_release -is 2>/dev/null`" = "xUbuntu"; then
with_distro="ubuntu"
fi
@ -362,6 +363,12 @@ case $with_distro in
AC_DEFINE(TARGET_FRUGALWARE, [], [Target is Frugalware])
M4_DISTRO_FLAG=-DTARGET_FRUGALWARE=1
;;
altlinux)
SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d
SYSTEM_SYSVRCND_PATH=/etc/rc.d
AC_DEFINE(TARGET_ALTLINUX, [], [Target is ALTLinux])
M4_DISTRO_FLAG=-DTARGET_ALTLINUX=1
;;
other)
AS_IF([test "x$with_syslog_service" = "x"],
[AC_MSG_ERROR([With --distro=other, you must pass --with-syslog-service= to configure])])
@ -418,6 +425,7 @@ AM_CONDITIONAL(TARGET_ARCH, test x"$with_distro" = xarch)
AM_CONDITIONAL(TARGET_GENTOO, test x"$with_distro" = xgentoo)
AM_CONDITIONAL(TARGET_SLACKWARE, test x"$with_distro" = xslackware)
AM_CONDITIONAL(TARGET_FRUGALWARE, test x"$with_distro" = xfrugalware)
AM_CONDITIONAL(TARGET_ALTLINUX, test x"$with_distro" = xaltlinux)
AC_DEFINE_UNQUOTED(SPECIAL_SYSLOG_SERVICE, ["$SPECIAL_SYSLOG_SERVICE"], [Syslog service name])

View File

@ -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;

View File

@ -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

View File

@ -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) {

View File

@ -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,

View File

@ -20,6 +20,9 @@ Names=runlevel5.target
m4_ifdef(`TARGET_SUSE',
Names=runlevel5.target
)m4_dnl
m4_ifdef(`TARGET_ALTLINUX',
Names=runlevel5.target
)m4_dnl
AllowIsolate=yes
[Install]

View File

@ -20,6 +20,9 @@ Names=runlevel3.target
m4_ifdef(`TARGET_SUSE',
Names=runlevel3.target
)m4_dnl
m4_ifdef(`TARGET_ALTLINUX',
Names=runlevel3.target
)m4_dnl
m4_ifdef(`TARGET_DEBIAN',
m4_ifdef(`TARGET_UBUNTU',
m4_dnl On Debian/Ubuntu Runlevel 2, 3, 4 and 5 are multi-user