summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2011-05-06 09:19:08 +0200
committerLennart Poettering <lennart@poettering.net>2011-05-09 23:50:23 +0200
commit1bd8b8184ee3bc7fc023d6d6dfb2ca99fb6612f3 (patch)
tree930c4c483b5f9bc0d42254c2dd755dbb54845d8c
parent34a852e6f9efe139c0d442d9fa3a9a29fa3b6545 (diff)
build-sys: Angstrom support
This commit consists of the initial work to include Angstrom as a ported distribution for systemd. Angstrom tries to follow the debian way as much as possible, but deviates where it doesn't make sense for 'embedded'.
-rw-r--r--Makefile.am7
-rw-r--r--configure.ac7
-rw-r--r--src/locale-setup.c2
-rw-r--r--src/service.c10
4 files changed, 20 insertions, 6 deletions
diff --git a/Makefile.am b/Makefile.am
index 873090e428..482d53e7eb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -96,6 +96,12 @@ AM_CPPFLAGS += \
-DKBD_SETFONT=\"/bin/setfont\" \
-DDEFAULT_FONT=\"LatArCyrHeb-16\"
else
+if TARGET_ANGSTROM
+AM_CPPFLAGS += \
+ -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
+ -DKBD_SETFONT=\"/usr/bin/setfont\" \
+ -DDEFAULT_FONT=\"LatArCyrHeb-16\"
+else
AM_CPPFLAGS += \
-DKBD_LOADKEYS=\"/bin/loadkeys\" \
-DKBD_SETFONT=\"/bin/setfont\" \
@@ -105,6 +111,7 @@ endif
endif
endif
endif
+endif
rootbin_PROGRAMS = \
systemd \
diff --git a/configure.ac b/configure.ac
index 4a56101118..7cdc0cedf1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -295,6 +295,7 @@ if test "z$with_distro" = "z"; then
test -f "/etc/altlinux-release" && with_distro="altlinux"
test -f "/etc/mandriva-release" && with_distro="mandriva"
test -f "/etc/meego-release" && with_distro="meego"
+ test -f "/etc/angstrom-version" && with_distro="angstrom"
if test "x`lsb_release -is 2>/dev/null`" = "xUbuntu"; then
with_distro="ubuntu"
fi
@@ -376,6 +377,11 @@ case $with_distro in
AC_DEFINE(TARGET_MEEGO, [], [Target is MeeGo])
M4_DISTRO_FLAG=-DTARGET_MEEGO=1
;;
+ angstrom)
+ SYSTEM_SYSVRCND_PATH=/etc
+ AC_DEFINE(TARGET_ANGSTROM, [], [Target is Ångström])
+ M4_DISTRO_FLAG=-DTARGET_ANGSTROM=1
+ ;;
other)
;;
*)
@@ -426,6 +432,7 @@ AM_CONDITIONAL(TARGET_FRUGALWARE, test x"$with_distro" = xfrugalware)
AM_CONDITIONAL(TARGET_ALTLINUX, test x"$with_distro" = xaltlinux)
AM_CONDITIONAL(TARGET_MANDRIVA, test x"$with_distro" = xmandriva)
AM_CONDITIONAL(TARGET_MEEGO, test x"$with_distro" = xmeego)
+AM_CONDITIONAL(TARGET_ANGSTROM, test x"$with_distro" = xangstrom)
AM_CONDITIONAL(HAVE_PLYMOUTH, test -n "$have_plymouth")
AM_CONDITIONAL(HAVE_SYSV_COMPAT, test "$SYSTEM_SYSV_COMPAT" = "yes")
diff --git a/src/locale-setup.c b/src/locale-setup.c
index d9adfa33f4..33111da218 100644
--- a/src/locale-setup.c
+++ b/src/locale-setup.c
@@ -136,7 +136,7 @@ int locale_setup(void) {
log_warning("Failed to read /etc/sysconfig/language: %s", strerror(-r));
}
-#elif defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU)
+#elif defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_ANGSTROM)
if (r <= 0 &&
(r = parse_env_file("/etc/default/locale", NEWLINE,
"LANG", &variables[VARIABLE_LANG],
diff --git a/src/service.c b/src/service.c
index e7a5622f9c..f826754152 100644
--- a/src/service.c
+++ b/src/service.c
@@ -65,7 +65,7 @@ static const struct {
{ "boot.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT },
#endif
-#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_FRUGALWARE)
+#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_FRUGALWARE) || defined(TARGET_ANGSTROM)
/* Debian style rcS.d */
{ "rcS.d", SPECIAL_SYSINIT_TARGET, RUNLEVEL_SYSINIT },
#endif
@@ -246,7 +246,7 @@ static char *sysv_translate_name(const char *name) {
if (!(r = new(char, strlen(name) + sizeof(".service"))))
return NULL;
-#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU)
+#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_ANGSTROM)
if (endswith(name, ".sh"))
/* Drop Debian-style .sh suffix */
strcpy(stpcpy(r, name) - 3, ".service");
@@ -297,7 +297,7 @@ static int sysv_translate_facility(const char *name, const char *filename, char
"x-display-manager", SPECIAL_DISPLAY_MANAGER_SERVICE,
"null", NULL,
-#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU)
+#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_ANGSTROM)
"mail-transport-agent", SPECIAL_MAIL_TRANSFER_AGENT_TARGET,
#endif
@@ -887,7 +887,7 @@ static int service_load_sysv_name(Service *s, const char *name) {
/* For SysV services we strip the boot.*, rc.* and *.sh
* prefixes/suffixes. */
-#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU)
+#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_ANGSTROM)
if (endswith(name, ".sh.service"))
return -ENOENT;
#endif
@@ -914,7 +914,7 @@ static int service_load_sysv_name(Service *s, const char *name) {
r = service_load_sysv_path(s, path);
-#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU)
+#if defined(TARGET_DEBIAN) || defined(TARGET_UBUNTU) || defined(TARGET_ANGSTROM)
if (r >= 0 && s->meta.load_state == UNIT_STUB) {
/* Try Debian style *.sh source'able init scripts */
strcat(path, ".sh");