---- 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
+--- systemd-stable-248/src/shared/hostname-setup.h.orig 2021-03-30 22:59:02.000000000 +0200
++++ systemd-stable-248/src/shared/hostname-setup.h 2021-04-07 00:02:26.813489363 +0200
+@@ -18,6 +18,7 @@
+
+ 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-stable-248/src/shared/hostname-setup.c.orig 2021-03-30 22:59:02.000000000 +0200
++++ systemd-stable-248/src/shared/hostname-setup.c 2021-04-07 00:04:58.955649812 +0200
+@@ -7,6 +7,7 @@
+ #include <unistd.h>
+
+ #include "alloc-util.h"
++#include "env-file.h"
+ #include "fd-util.h"
+ #include "fileio.h"
+ #include "fs-util.h"
+@@ -130,13 +131,34 @@
+ }
+ }
+
++int read_etc_hostname_distro(const char *path, char **ret) {
++ int r;
++ char *p = NULL;
++ r = parse_env_file(NULL, "/etc/sysconfig/network", "HOSTNAME", &p);
++ if (r < 0)
++ return r;
++ if (!p) /* 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)
+--- systemd-240/src/shared/locale-setup.c.orig 2019-01-13 09:27:36.718995151 +0100
++++ systemd-240/src/shared/locale-setup.c 2019-01-13 09:29:37.548993771 +0100
+@@ -21,6 +21,7 @@
+ locale_context_clear(c);
+
+ r = proc_cmdline_get_key_many(PROC_CMDLINE_STRIP_RD_PREFIX,
++ "LANG", &c->locale[VARIABLE_LANG],
+ "locale.LANG", &c->locale[VARIABLE_LANG],
+ "locale.LANGUAGE", &c->locale[VARIABLE_LANGUAGE],
+ "locale.LC_CTYPE", &c->locale[VARIABLE_LC_CTYPE],
+@@ -59,6 +60,17 @@
+ if (fstat(fd, &st) < 0)
+ return log_debug_errno(errno, "Failed to stat /etc/locale.conf: %m");
+
++ if (r < 0 && stat("/etc/sysconfig/i18n", &st) == 0) {
++ locale_context_clear(c);
++ if ((r = parse_env_file(NULL, "/etc/sysconfig/i18n",
++ "LANG", &c->locale[VARIABLE_LANG]
++ )) < 0) {
++
++ if (r != -ENOENT)
++ log_warning_errno(r, "Failed to read /etc/sysconfig/i18n: %m");
++ }
++ }
++
+ /* If the file is not changed, then we do not need to re-read the file. */
+ if (stat_inode_unmodified(&c->st, &st))
+ return 0;
+--- systemd-240/src/basic/time-util.c.orig 2019-01-13 09:27:36.718995151 +0100
++++ systemd-240/src/basic/time-util.c 2019-01-13 09:31:12.275659356 +0100
+@@ -14,6 +14,7 @@
+ #include <unistd.h>
+
+ #include "alloc-util.h"
++#include "env-file.h"
+ #include "fd-util.h"
+ #include "fileio.h"
+ #include "fs-util.h"
+@@ -1385,8 +1385,16 @@
+ return r; /* returns EINVAL if not a symlink */
+
+ e = PATH_STARTSWITH_SET(t, "/usr/share/zoneinfo/", "../usr/share/zoneinfo/");
+- if (!e)
+- return -EINVAL;
++ if (!e) {
++ r = parse_env_file(NULL, "/etc/sysconfig/timezone"
++ "TIMEZONE", &e
++ );
++ if (r < 0) {
++ if (r != -ENOENT)
++ log_warning_errno(r, "Failed to read /etc/sysconfig/timezone: %m");
++ return -EINVAL;
++ }
++ }
+
+ if (!timezone_is_valid(e, LOG_DEBUG))
+ return -EINVAL;
+--- systemd-stable-254/src/vconsole/vconsole-setup.c.orig 2023-08-02 23:51:41.833676408 +0200
++++ systemd-stable-254/src/vconsole/vconsole-setup.c 2023-08-03 00:00:16.025707038 +0200
+@@ -141,7 +141,19 @@
+ if (r < 0) {
+ if (r != -ENOENT)
+ log_warning_errno(r, "Failed to read /etc/vconsole.conf, ignoring: %m");
+- return r;
++
++ int r1 = parse_env_file(NULL, "/etc/sysconfig/console"
++ "CONSOLEFONT", &v.config[VC_FONT],
++ "CONSOLEMAP", &v.config[VC_FONT_MAP],
++ "CONSOLESCREENFONTMAP", &v.config[VC_FONT_UNIMAP],
++ "KEYTABLE", &v.config[VC_KEYMAP]
++ );
++ if (r1 < 0) {
++ if (r1 != -ENOENT)
++ log_warning_errno(r1, "Failed to read /etc/sysconfig/console, ignoring: %m");
++ return r1;
++ }
++
+ }
+
+ context_merge_config(c, &v, NULL);