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`
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
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])
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;