X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=target-pld.patch;h=d072379df9ebc738cddc22f892b1a1eeff559def;hb=ca35649fa718039aaf8630e6730b89f981c2adcf;hp=b2975ce435c09edbf427a4a1a807410cf29028a6;hpb=da7cff0cb84096c0e96d1fca46e6119e8b48842a;p=packages%2Fsystemd.git diff --git a/target-pld.patch b/target-pld.patch index b2975ce..d072379 100644 --- a/target-pld.patch +++ b/target-pld.patch @@ -1,34 +1,63 @@ -diff --git a/Makefile.am b/Makefile.am -index 170465a..bce467d 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -4083,6 +4083,21 @@ if TARGET_FEDORA - $(LN_S) ../systemd-modules-load.service systemd-modules-load.service ) - endif +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 = -+ $(MKDIR_P) -m 0755 $(DESTDIR)$(systemunitdir)/final.target.wants -+ ( cd $(DESTDIR)$(systemunitdir)/multi-user.target.wants && \ -+ rm -f rc-local.service && \ -+ $(LN_S) $(systemunitdir)/rc-local.service rc-local.service ) -+ ( cd $(DESTDIR)$(systemunitdir)/final.target.wants && \ -+ rm -f halt-local.service && \ -+ $(LN_S) $(systemunitdir)/halt-local.service halt-local.service ) + 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 ) -+ ( cd $(DESTDIR)$(systemunitdir)/graphical.target.wants && \ -+ rm -f display-manager.service && \ -+ $(LN_S) $(systemunitdir)/display-manager.service display-manager.service ) -+ - install-exec-hook: $(INSTALL_EXEC_HOOKS) - uninstall-hook: $(UNINSTALL_DATA_HOOKS) $(UNINSTALL_EXEC_HOOKS) -diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c -index 2c2f10c..754f0c7 100644 ---- a/src/core/hostname-setup.c -+++ b/src/core/hostname-setup.c -@@ -64,13 +64,84 @@ static int read_and_strip_hostname(const char *path, char **hn) { + 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 +@@ -23,6 +23,7 @@ + + #include "alloc-util.h" + #include "fileio.h" ++#include "fd-util.h" + #include "hostname-setup.h" + #include "hostname-util.h" + #include "log.h" +@@ -53,13 +53,84 @@ return 0; } @@ -92,7 +121,7 @@ index 2c2f10c..754f0c7 100644 + /* First, try to load the generic hostname configuration file, + * that we support on all distributions */ + -+ r = read_and_strip_hostname("/etc/hostname", hn); ++ r = read_hostname_config("/etc/hostname", hn); + if (r < 0) { + if (r == -ENOENT) + return read_distro_hostname(hn); @@ -104,21 +133,20 @@ index 2c2f10c..754f0c7 100644 +} + int hostname_setup(void) { - int r; _cleanup_free_ char *b = NULL; - const char *hn; bool enoent = false; + const char *hn; + int r; -- r = read_and_strip_hostname("/etc/hostname", &b); +- r = read_hostname_config("/etc/hostname", &b); + r = read_hostname(&b); if (r < 0) { if (r == -ENOENT) enoent = true; -diff --git a/src/core/locale-setup.c b/src/core/locale-setup.c -index 7f692e9..0a45854 100644 ---- a/src/core/locale-setup.c -+++ b/src/core/locale-setup.c -@@ -74,6 +74,7 @@ int locale_setup(void) { +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, @@ -126,7 +154,7 @@ index 7f692e9..0a45854 100644 "locale.LANG", &variables[VARIABLE_LANG], "locale.LANGUAGE", &variables[VARIABLE_LANGUAGE], "locale.LC_CTYPE", &variables[VARIABLE_LC_CTYPE], -@@ -121,6 +121,15 @@ int locale_setup(void) { +@@ -120,6 +121,15 @@ log_warning("Failed to read /etc/locale.conf: %s", strerror(-r)); } @@ -139,41 +167,48 @@ index 7f692e9..0a45854 100644 + log_warning("Failed to read /etc/sysconfig/i18n: %s", strerror(-r)); + } + - if (!variables[VARIABLE_LANG]) { - variables[VARIABLE_LANG] = strdup("C"); - if (!variables[VARIABLE_LANG]) { ---- systemd-196/src/timedate/timedated.c~ 2012-10-16 23:35:40.589269718 +0200 -+++ systemd-196/src/timedate/timedated.c 2012-12-21 11:46:13.545086335 +0100 -@@ -175,6 +175,13 @@ - } - } - -+ r = parse_env_file("/etc/sysconfig/timezone", NEWLINE, -+ "TIMEZONE", &tz.zone, -+ NULL); -+ if (r < 0) { -+ if (r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/timezone: %s", strerror(-r)); -+ } - #ifdef HAVE_DEBIAN - r = read_one_line_file("/etc/timezone", &tz.zone); - if (r < 0) { -diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c -index 9196789..1d1a916 100644 ---- a/src/vconsole/vconsole-setup.c -+++ b/src/vconsole/vconsole-setup.c -@@ -358,6 +358,14 @@ - } + add = NULL; + for (i = 0; i < _VARIABLE_MAX; i++) { + char *s; +--- a/src/basic/time-util.c~ 2016-11-03 18:16:42.000000000 +0100 ++++ b/src/basic/time-util.c 2016-11-12 19:54:28.457197174 +0100 +@@ -1290,8 +1290,16 @@ int get_timezone(char **tz) { + e = path_startswith(t, "/usr/share/zoneinfo/"); + if (!e) + e = path_startswith(t, "../usr/share/zoneinfo/"); +- if (!e) +- return -EINVAL; ++ if (!e) { ++ r = parse_env_file("/etc/sysconfig/timezone", NEWLINE, ++ "TIMEZONE", &e, ++ NULL); ++ if (r < 0) { ++ if (r != -ENOENT) ++ log_warning("Failed to read /etc/sysconfig/timezone: %s", strerror(-r)); ++ return -EINVAL; ++ } ++ } - if (r <= 0) { -+ r = parse_env_file("/etc/sysconfig/console", NEWLINE, -+ "CONSOLEFONT", &vc_font, -+ "CONSOLEMAP", &vc_font_map, -+ "CONSOLESCREENFONTMAP", &vc_font_unimap, -+ "KEYTABLE", &vc_keymap, -+ NULL); -+ if (r < 0 && r != -ENOENT) -+ log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r)); - } + if (!timezone_is_valid(e)) + return -EINVAL; +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)); - r = EXIT_FAILURE; ++ 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,