---- systemd-26/configure.ac.orig 2011-05-02 14:05:34.544253875 +0200
-+++ systemd-26/configure.ac 2011-05-02 14:22:04.085559738 +0200
-@@ -369,6 +369,12 @@ case $with_distro in
- M4_DISTRO_FLAG=-DTARGET_MANDRIVA=1
- have_plymouth=true
- ;;
-+ pld)
-+ SYSTEM_SYSVINIT_PATH=/etc/rc.d/init.d
-+ SYSTEM_SYSVRCND_PATH=/etc/rc.d
-+ AC_DEFINE(TARGET_PLD, [], [Target is PLD Linux])
-+ M4_DISTRO_FLAG=-DTARGET_PLD=1
-+ ;;
- meego)
- SYSTEM_SYSVINIT_PATH=
- SYSTEM_SYSVRCND_PATH=
+diff -dur -x '*~' -x '*.orig' systemd-208.orig/Makefile.am systemd-208/Makefile.am
+--- systemd-208.orig/Makefile.am 2013-10-02 04:57:09.000000000 +0200
++++ systemd-208/Makefile.am 2014-01-09 15:15:41.000000000 +0100
+@@ -211,6 +211,8 @@
+ TIMERS_TARGET_WANTS =
+ USER_SOCKETS_TARGET_WANTS =
+ USER_BUSNAMES_TARGET_WANTS =
++FINAL_TARGET_WANTS =
++GRAPHICAL_TARGET_WANTS =
+
+ SYSTEM_UNIT_ALIASES =
+ USER_UNIT_ALIASES =
+@@ -230,6 +232,8 @@
+ what="$(SLICES_TARGET_WANTS)" && wants=slices.target && $(add-wants)
+ what="$(USER_SOCKETS_TARGET_WANTS)" && wants=sockets.target && dir=$(userunitdir) && $(add-wants)
+ what="$(USER_BUSNAMES_TARGET_WANTS)" && wants=busnames.target && dir=$(userunitdir) && $(add-wants)
++ what="$(FINAL_TARGET_WANTS)" && wants=final.target && dir=$(systemunitdir) && $(add-wants)
++ what="$(GRAPHICAL_TARGET_WANTS)" && wants=graphical.target && dir=$(systemunitdir) && $(add-wants)
+
+ define add-wants
+ [ -z "$$what" ] || ( \
+@@ -4001,8 +4005,15 @@
+ $(systemdstatedir)
+
+ MULTI_USER_TARGET_WANTS += \
++ rc-local.service \
+ systemd-logind.service
+
++FINAL_TARGET_WANTS += \
++ halt-local.service
++
++GRAPHICAL_TARGET_WANTS += \
++ display-manager.service
++
+ SYSTEM_UNIT_ALIASES += \
+ systemd-logind.service dbus-org.freedesktop.login1.service
+
+@@ -4493,6 +4504,10 @@
+ uninstall-hook: $(UNINSTALL_DATA_HOOKS) $(UNINSTALL_EXEC_HOOKS)
+
+ install-data-hook: $(INSTALL_DATA_HOOKS)
++ ( cd $(DESTDIR)$(systemunitdir) && \
++ rm -f display-manager.service single.service && \
++ $(LN_S) prefdm.service display-manager.service && \
++ $(LN_S) rescue.service single.service )
+
+ distclean-local: $(DISTCLEAN_LOCAL_HOOKS)
+
+diff -dur -x '*~' -x '*.orig' systemd-208.orig/src/core/hostname-setup.c systemd-208/src/core/hostname-setup.c
+--- systemd-208.orig/src/core/hostname-setup.c 2013-08-13 22:02:46.000000000 +0200
++++ systemd-208/src/core/hostname-setup.c 2014-01-09 15:15:41.000000000 +0100
+@@ -53,13 +53,84 @@
+ return 0;
+ }
+
++static int read_distro_hostname(char **hn) {
++ int r;
++ _cleanup_fclose_ FILE *f = NULL;
++
++ assert(hn);
++
++ f = fopen("/etc/sysconfig/network", "re");
++ if (!f)
++ 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_no_case(s, "HOSTNAME="))
++ continue;
++
++ k = strdup(s+9);
++ if (!k) {
++ r = -ENOMEM;
++ goto finish;
++ }
++
++ hostname_cleanup(k, false);
++
++ if (isempty(k)) {
++ free(k);
++ r = -ENOENT;
++ goto finish;
++ }
++
++ *hn = k;
++ r = 0;
++ goto finish;
++ }
++
++ r = -ENOENT;
++
++finish:
++ return r;
++}
++
++static int read_hostname(char **hn) {
++ int r;
++
++ assert(hn);
++
++ /* First, try to load the generic hostname configuration file,
++ * that we support on all distributions */
++
++ r = read_hostname_config("/etc/hostname", hn);
++ if (r < 0) {
++ if (r == -ENOENT)
++ return read_distro_hostname(hn);
++
++ return r;
++ }
++
++ return 0;
++}
++
+ int hostname_setup(void) {
+ int r;
+ _cleanup_free_ char *b = NULL;
+ const char *hn;
+ bool enoent = false;
+
+- r = read_hostname_config("/etc/hostname", &b);
++ r = read_hostname(&b);
+ if (r < 0) {
+ if (r == -ENOENT)
+ enoent = true;
+diff -dur -x '*~' -x '*.orig' systemd-208.orig/src/core/locale-setup.c systemd-208/src/core/locale-setup.c
+--- systemd-208.orig/src/core/locale-setup.c 2013-10-01 00:17:21.000000000 +0200
++++ systemd-208/src/core/locale-setup.c 2014-01-09 15:15:41.000000000 +0100
+@@ -76,6 +76,7 @@
+
+ if (detect_container(NULL) <= 0) {
+ r = parse_env_file("/proc/cmdline", WHITESPACE,
++ "LANG", &variables[VARIABLE_LANG],
+ "locale.LANG", &variables[VARIABLE_LANG],
+ "locale.LANGUAGE", &variables[VARIABLE_LANGUAGE],
+ "locale.LC_CTYPE", &variables[VARIABLE_LC_CTYPE],
+@@ -120,6 +121,15 @@
+ log_warning("Failed to read /etc/locale.conf: %s", strerror(-r));
+ }
+
++ 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));
++ }
++
+ add = NULL;
+ for (i = 0; i < _VARIABLE_MAX; i++) {
+ char *s;
+diff -dur -x '*~' -x '*.orig' systemd-208.orig/src/timedate/timedated.c systemd-208/src/timedate/timedated.c
+--- systemd-208.orig/src/timedate/timedated.c 2013-08-13 22:02:47.000000000 +0200
++++ systemd-208/src/timedate/timedated.c 2014-01-09 15:15:41.000000000 +0100
+@@ -183,9 +183,19 @@
+ c->zone = strdup(e);
+ if (!c->zone)
+ return log_oom();
++ goto have_timezone;
+ }
+ }
+
++ r = parse_env_file("/etc/sysconfig/timezone", NEWLINE,
++ "TIMEZONE", &c->zone,
++ NULL);
++ if (r < 0) {
++ if (r != -ENOENT)
++ log_warning("Failed to read /etc/sysconfig/timezone: %s", strerror(-r));
++ }
++
++have_timezone:
+ if (isempty(c->zone)) {
+ free(c->zone);
+ c->zone = NULL;
+diff -dur -x '*~' -x '*.orig' systemd-208.orig/src/vconsole/vconsole-setup.c systemd-208/src/vconsole/vconsole-setup.c
+--- systemd-208.orig/src/vconsole/vconsole-setup.c 2013-08-13 22:02:47.000000000 +0200
++++ systemd-208/src/vconsole/vconsole-setup.c 2014-01-09 15:17:49.000000000 +0100
+@@ -284,6 +284,17 @@ int main(int argc, char **argv) {
+ if (r < 0 && r != -ENOENT)
+ log_warning("Failed to read /etc/vconsole.conf: %s", strerror(-r));
+
++ if (r <= 0) {
++ int r1 = parse_env_file("/etc/sysconfig/console", NEWLINE,
++ "CONSOLEFONT", &vc_font,
++ "CONSOLEMAP", &vc_font_map,
++ "CONSOLESCREENFONTMAP", &vc_font_unimap,
++ "KEYTABLE", &vc_keymap,
++ NULL);
++ if (r1 < 0 && r1 != -ENOENT)
++ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r1));
++ }
++
+ /* Let the kernel command line override /etc/vconsole.conf */
+ if (detect_container(NULL) <= 0) {
+ r = parse_env_file("/proc/cmdline", WHITESPACE,