build-sys: add Arch Linux support

This commit is contained in:
Dave Reisner 2010-05-05 21:59:24 +02:00 committed by Lennart Poettering
parent 6c78be3c3c
commit d7c114c000
2 changed files with 50 additions and 0 deletions

View file

@ -84,6 +84,7 @@ if test "z$with_distro" = "z"; then
AC_CHECK_FILE(/etc/redhat-release,with_distro="fedora")
AC_CHECK_FILE(/etc/SuSE-release,with_distro="suse")
AC_CHECK_FILE(/etc/debian_version,with_distro="debian")
AC_CHECK_FILE(/etc/arch-release,with_distro="arch")
fi
if test "z$with_distro" = "z"; then
with_distro=`uname -s`
@ -113,6 +114,13 @@ case $with_distro in
special_syslog_service=sysklogd.service
AC_DEFINE(TARGET_DEBIAN, [], [Target is Debian/Ubuntu])
;;
arch)
SYSTEM_SYSVINIT_PATH=/etc/rc.d
SYSTEM_SYSVRCND_PATH=/etc
special_dbus_service=dbus.service
special_syslog_service=syslog-ng.service
AC_DEFINE(TARGET_ARCH, [], [Target is ArchLinux])
;;
none)
SYSTEM_SYSVINIT_PATH=/fix/the/configure/script
SYSTEM_SYSVRCND_PATH=/fix/the/configure/script
@ -130,6 +138,7 @@ AC_SUBST(SYSTEM_SYSVRCND_PATH)
AM_CONDITIONAL(TARGET_FEDORA, test x"$with_distro" = xfedora)
AM_CONDITIONAL(TARGET_SUSE, test x"$with_distro" = xsuse)
AM_CONDITIONAL(TARGET_DEBIAN, test x"$with_distro" = xdebian)
AM_CONDITIONAL(TARGET_ARCH, test x"$with_distro" = xarch)
AC_DEFINE_UNQUOTED(SPECIAL_DBUS_SERVICE, ["$special_dbus_service"], [D-Bus service name])
AC_DEFINE_UNQUOTED(SPECIAL_SYSLOG_SERVICE, ["$special_syslog_service"], [syslog service name])

View file

@ -75,6 +75,47 @@ finish:
fclose(f);
return r;
#elif defined(TARGET_ARCH)
int r;
FILE *f;
assert(hn);
if (!(f = fopen("/etc/rc.conf", "re")))
return -errno;
for (;;) {
char line[LINE_MAX];
char *s, *k;
if (!fgets(line, sizeof(line), f)) {
if (feof(f))
break;
r = -errno;
goto finish;
}
s = strstrip(line);
if (!startswith(s, "HOSTNAME="))
continue;
if (!(k = strdup(s+9))) {
r = -ENOMEM;
goto finish;
}
*hn = k;
break;
}
r = 0;
finish:
fclose(f);
return r;
#elif defined(TARGET_SUSE)
int r;
char *s, *k;