]> git.pld-linux.org Git - packages/systemd.git/blobdiff - target-pld.patch
- partial update to 238; target-pld.patch hostname parsing needs testing; files secti...
[packages/systemd.git] / target-pld.patch
index 2ca9196e01f4610c20add15318d9c54c6c28307e..e38fa29b5d2f52131e113a54f1d314a0380dfd46 100644 (file)
---- systemd-18/configure.ac~   2011-02-16 23:12:09.000000000 +0200
-+++ systemd-18/configure.ac    2011-03-06 23:24:39.486435579 +0200
-@@ -371,6 +371,12 @@
-                 AC_DEFINE(TARGET_ALTLINUX, [], [Target is ALTLinux])
-                 M4_DISTRO_FLAG=-DTARGET_ALTLINUX=1
-                 ;;
-+        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
-+                ;;
-         other)
-                 AS_IF([test "x$with_syslog_service" = "x"],
-                         [AC_MSG_ERROR([With --distro=other, you must pass --with-syslog-service= to configure])])
+; rest of target-pld.patch logic in systemd.spec
+--- a/src/basic/hostname-util.h~       2018-03-05 23:16:37.000000000 +0100
++++ b/src/basic/hostname-util.h        2018-05-15 13:46:17.924678801 +0200
+@@ -42,5 +42,6 @@ int sethostname_idempotent(const char *s
+ int shorten_overlong(const char *s, char **ret);
++int read_etc_hostname_distro(const char *path, char **ret);
+ int read_etc_hostname_stream(FILE *f, char **ret);
+ int read_etc_hostname(const char *path, char **ret);
+--- systemd-238/src/basic/hostname-util.c~     2018-03-05 23:16:37.000000000 +0100
++++ systemd-238/src/basic/hostname-util.c      2018-05-15 13:21:08.392017315 +0200
+@@ -290,13 +290,33 @@ int read_etc_hostname_stream(FILE *f, ch
+         }
+ }
++int read_etc_hostname_distro(const char *path, char **ret) {
++        int r;
++        char *p;
++        r = parse_env_file("/etc/sysconfig/network", NEWLINE, "HOSTNAME", &p, NULL);
++        if (r < 0)
++                return r;
++        if (r == 0) /* EOF without any hostname? the file is empty, let's treat that exactly like no file at all: ENOENT */
++                return -ENOENT;
++        hostname_cleanup(p);
++         if (!hostname_is_valid(p, true))
++                 return -EBADMSG;
++         *ret = p;
++         return 0;
++}
++
+ int read_etc_hostname(const char *path, char **ret) {
+         _cleanup_fclose_ FILE *f = NULL;
+         assert(ret);
+-        if (!path)
++        if (!path) {
++                int r;
+                 path = "/etc/hostname";
++                r = read_etc_hostname_distro(path, ret);
++                if (r > 0)
++                        return r;
++        }
+         f = fopen(path, "re");
+         if (!f)
+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;
+--- 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 (!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));
++        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,
This page took 0.047686 seconds and 4 git commands to generate.