]> git.pld-linux.org Git - packages/systemd.git/blobdiff - target-pld.patch
- rel 1; works on my laptop
[packages/systemd.git] / target-pld.patch
index c3c6230c82dc50019ffa06c8e983b88f7b4a14a7..d072379df9ebc738cddc22f892b1a1eeff559def 100644 (file)
-diff --git a/Makefile.am b/Makefile.am
-index 170465a..bce467d 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -115,6 +115,12 @@ AM_CPPFLAGS += \
-       -DKBD_SETFONT=\"/usr/bin/setfont\" \
-       -DDEFAULT_FONT=\"LatArCyrHeb-16\"
- else
-+if TARGET_PLD
-+AM_CPPFLAGS += \
-+      -DKBD_LOADKEYS=\"/usr/bin/loadkeys\" \
-+      -DKBD_SETFONT=\"/bin/setfont\" \
-+      -DDEFAULT_FONT=\"LatArCyrHeb-16\"
-+else
- AM_CPPFLAGS += \
-       -DKBD_LOADKEYS=\"/bin/loadkeys\" \
-       -DKBD_SETFONT=\"/bin/setfont\" \
-@@ -132,6 +138,7 @@ endif
- endif
- endif
- endif
-+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 =
  
- rootbin_PROGRAMS = \
-       systemd \
-@@ -381,6 +388,14 @@
-       systemd-rc-local-generator
- endif
+ 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)
  
-+if TARGET_PLD
-+dist_systemunit_DATA += \
-+      units/fedora/rc-local.service \
-+      units/fedora/halt-local.service
-+systemgenerator_PROGRAMS += \
-+      systemd-rc-local-generator
-+endif
+ 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
 +
- if TARGET_MANDRIVA
- dist_systemunit_DATA += \
-       units/mandriva/prefdm.service \
-@@ -1992,6 +1999,23 @@ if TARGET_FEDORA
-               $(LN_S) $(systemunitdir)/display-manager.service display-manager.service )
- endif
+ SYSTEM_UNIT_ALIASES += \
+       systemd-logind.service dbus-org.freedesktop.login1.service
  
-+if TARGET_PLD
-+      $(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 )
+@@ -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 )
-+endif
-+
- if TARGET_MANDRIVA
-       $(MKDIR_P) -m 0755 $(DESTDIR)$(systemunitdir)/final.target.wants
-       ( cd $(DESTDIR)$(systemunitdir)/final.target.wants && \
-diff --git a/configure.ac b/configure.ac
-index 596a32a..f701bfd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -448,6 +449,12 @@ case $with_distro in
-                 M4_DEFINES=-DTARGET_MANDRIVA=1
-                 have_plymouth=yes
-                 ;;
-+        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=
-@@ -510,6 +517,7 @@ if test -n "$enable_plymouth"; then
- fi
  
- AM_CONDITIONAL(TARGET_FEDORA, test x"$with_distro" = xfedora)
-+AM_CONDITIONAL(TARGET_PLD, test x"$with_distro" = xpld)
- AM_CONDITIONAL(TARGET_SUSE, test x"$with_distro" = xsuse)
- AM_CONDITIONAL(TARGET_DEBIAN, test x"$with_distro" = xdebian)
- AM_CONDITIONAL(TARGET_UBUNTU, test x"$with_distro" = xubuntu)
-diff --git a/src/fsck.c b/src/fsck.c
-index 3477ba1..d32718d 100644
---- a/src/fsck.c
-+++ b/src/fsck.c
-@@ -127,7 +127,7 @@ static int parse_proc_cmdline(void) {
-                         arg_skip = true;
-                 else if (startswith(w, "fsck.mode"))
-                         log_warning("Invalid fsck.mode= parameter. Ignoring.");
--#if defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA)
-+#if defined(TARGET_FEDORA) || defined(TARGET_PLD) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA)
-                 else if (strneq(w, "fastboot", l))
-                         arg_skip = true;
-                 else if (strneq(w, "forcefsck", l))
-diff --git a/src/hostname-setup.c b/src/hostname-setup.c
-index 2c2f10c..754f0c7 100644
---- a/src/hostname-setup.c
-+++ b/src/hostname-setup.c
-@@ -30,7 +30,7 @@
- #include "util.h"
- #include "log.h"
+ distclean-local: $(DISTCLEAN_LOCAL_HOOKS)
  
--#if defined(TARGET_FEDORA) || defined(TARGET_ALTLINUX) || defined(TARGET_MANDRIVA) || defined(TARGET_MEEGO) || defined(TARGET_MAGEIA)
-+#if defined(TARGET_FEDORA) || defined(TARGET_PLD) || defined(TARGET_ALTLINUX) || defined(TARGET_MANDRIVA) || defined(TARGET_MEEGO) || defined(TARGET_MAGEIA)
- #define FILENAME "/etc/sysconfig/network"
- #elif defined(TARGET_SUSE) || defined(TARGET_SLACKWARE)
- #define FILENAME "/etc/HOSTNAME"
-@@ -64,7 +64,7 @@ static int read_and_strip_hostname(const char *path, char **hn) {
+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 @@
  
- static int read_distro_hostname(char **hn) {
+ #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;
+ }
  
--#if defined(TARGET_FEDORA) || defined(TARGET_ARCH) || defined(TARGET_GENTOO) || defined(TARGET_ALTLINUX) || defined(TARGET_MANDRIVA) || defined(TARGET_MEEGO) || defined(TARGET_MAGEIA)
-+#if defined(TARGET_FEDORA) || defined(TARGET_PLD) || defined(TARGET_ARCH) || defined(TARGET_GENTOO) || defined(TARGET_ALTLINUX) || defined(TARGET_MANDRIVA) || defined(TARGET_MEEGO) || defined(TARGET_MAGEIA)
++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);
++
++                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) {
+         _cleanup_free_ char *b = NULL;
+         bool enoent = false;
+         const char *hn;
          int r;
-         FILE *f;
  
-diff --git a/src/locale-setup.c b/src/locale-setup.c
-index 7f692e9..0a45854 100644
---- a/src/locale-setup.c
-+++ b/src/locale-setup.c
-@@ -74,7 +74,7 @@ int locale_setup(void) {
+-        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)
-                 if ((r = parse_env_file("/proc/cmdline", WHITESPACE,
--#if defined(TARGET_FEDORA) || defined(TARGET_MEEGO)
-+#if defined(TARGET_FEDORA) || defined(TARGET_PLD) || defined(TARGET_MEEGO)
-                                         "LANG",                     &variables[VARIABLE_LANG],
- #endif
-                                         "locale.LANG",              &variables[VARIABLE_LANG],
-@@ -121,7 +121,7 @@ int locale_setup(void) {
+         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 defined(TARGET_FEDORA) || defined(TARGET_ALTLINUX) || defined(TARGET_MEEGO)
-+#if defined(TARGET_FEDORA) || defined(TARGET_PLD) || defined(TARGET_ALTLINUX) || defined(TARGET_MEEGO)
-         if (r <= 0 &&
-             (r = parse_env_file("/etc/sysconfig/i18n", NEWLINE,
-                                 "LANG", &variables[VARIABLE_LANG],
-diff --git a/src/systemctl.c b/src/systemctl.c
-index 298cb4e..cec3974 100644
---- a/src/systemctl.c
-+++ b/src/systemctl.c
-@@ -3460,7 +3460,7 @@ finish:
- static int enable_sysv_units(char **args) {
-         int r = 0;
--#if defined (HAVE_SYSV_COMPAT) && (defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_SUSE) || defined(TARGET_MEEGO) || defined(TARGET_ALTLINUX) || defined(TARGET_MAGEIA))
-+#if defined (HAVE_SYSV_COMPAT) && (defined(TARGET_FEDORA) || defined(TARGET_PLD) || defined(TARGET_MANDRIVA) || defined(TARGET_SUSE) || defined(TARGET_MEEGO) || defined(TARGET_ALTLINUX) || defined(TARGET_MAGEIA))
-         const char *verb = args[0];
-         unsigned f = 1, t = 1;
-         LookupPaths paths;
-diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c
-index 16f54b5..758b9df 100644
---- a/src/timedate/timedated.c
-+++ b/src/timedate/timedated.c
-@@ -174,7 +174,7 @@ static int read_data(void) {
-                 if (r != -ENOENT)
-                         log_warning("Failed to read /etc/timezone: %s", strerror(-r));
--#ifdef TARGET_FEDORA
-+#if defined(TARGET_FEDORA) || defined(TARGET_PLD)
-                 r = parse_env_file("/etc/sysconfig/clock", NEWLINE,
-                                    "ZONE", &zone,
-                                    NULL);
-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
-@@ -230,7 +230,7 @@ int main(int argc, char **argv) {
-         }
++        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 (r <= 0) {
--#if defined(TARGET_FEDORA) || defined(TARGET_MEEGO)
-+#if defined(TARGET_FEDORA) || defined(TARGET_PLD) || defined(TARGET_MEEGO)
-                 if ((r = parse_env_file("/etc/sysconfig/i18n", NEWLINE,
-                                         "SYSFONT", &vc_font,
-                                         "SYSFONTACM", &vc_font_map,
-diff --git a/units/console-shell.service.m4 b/units/console-shell.service.m4
-index 02adc84..a9f31fd 100644
---- a/units/console-shell.service.m4
-+++ b/units/console-shell.service.m4
-@@ -11,6 +11,9 @@ After=systemd-user-sessions.service plymouth-quit-wait.service
- m4_ifdef(`TARGET_FEDORA',
- After=rc-local.service
- )m4_dnl
-+m4_ifdef(`TARGET_PLD',
-+After=rc-local.service
-+)m4_dnl
- m4_ifdef(`TARGET_ARCH',
- After=rc-local.service
- )m4_dnl
-diff --git a/units/getty@.service.m4 b/units/getty@.service.m4
-index d2a145d..cae4ae5 100644
---- a/units/getty@.service.m4
-+++ b/units/getty@.service.m4
-@@ -12,6 +12,9 @@ After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service
- m4_ifdef(`TARGET_FEDORA',
- After=rc-local.service
- )m4_dnl
-+m4_ifdef(`TARGET_PLD',
-+After=rc-local.service
-+)m4_dnl
- m4_ifdef(`TARGET_ARCH',
- After=rc-local.service
- )m4_dnl
-diff --git a/units/rescue.service.m4 b/units/rescue.service.m4
-index 7dd8a22..5a9c363 100644
---- a/units/rescue.service.m4
-+++ b/units/rescue.service.m4
-@@ -22,6 +22,9 @@ ExecStartPre=-/bin/echo 'Welcome to rescue mode. Use "systemctl default" or ^D t
- m4_ifdef(`TARGET_FEDORA',
- `EnvironmentFile=/etc/sysconfig/init
- ExecStart=-/bin/bash -c "exec ${SINGLE}"',
-+m4_ifdef(`TARGET_PLD',
-+`EnvironmentFile=/etc/sysconfig/init
-+ExecStart=-/bin/bash -c "exec ${SINGLE}"',
- m4_ifdef(`TARGET_MANDRIVA',
- `EnvironmentFile=/etc/sysconfig/init
- ExecStart=-/bin/bash -c "exec ${SINGLE}"',
-@@ -31,7 +34,7 @@ ExecStart=-/bin/bash -c "exec ${SINGLE}"',
- m4_ifdef(`TARGET_MEEGO',
- `EnvironmentFile=/etc/sysconfig/init
- ExecStart=-/bin/bash -c "exec ${SINGLE}"',
--`ExecStart=-/sbin/sulogin'))))
-+`ExecStart=-/sbin/sulogin')))))
- ExecStopPost=-/bin/systemctl --fail --no-block default
- StandardInput=tty-force
- StandardOutput=inherit
-diff --git a/units/serial-getty@.service.m4 b/units/serial-getty@.service.m4
-index e5f0ca6..69b7fc2 100644
---- a/units/serial-getty@.service.m4
-+++ b/units/serial-getty@.service.m4
-@@ -12,6 +12,9 @@ After=dev-%i.device systemd-user-sessions.service plymouth-quit-wait.service
- m4_ifdef(`TARGET_FEDORA',
- After=rc-local.service
- )m4_dnl
-+m4_ifdef(`TARGET_PLD',
-+After=rc-local.service
-+)m4_dnl
- m4_ifdef(`TARGET_ARCH',
- After=rc-local.service
- )m4_dnl
-diff --git a/src/rc-local-generator.c b/src/rc-local-generator.c
-index ac6424a..a247c25 100644
---- a/src/rc-local-generator.c
-+++ b/src/rc-local-generator.c
-@@ -27,7 +27,7 @@
- #include "log.h"
- #include "util.h"
+         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 defined(TARGET_FEDORA) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA)
-+#if defined(TARGET_FEDORA) || defined(TARGET_PLD) || defined(TARGET_MANDRIVA) || defined(TARGET_MAGEIA)
- #define SCRIPT_PATH "/etc/rc.d/rc.local"
- #elif defined(TARGET_SUSE)
- #define SCRIPT_PATH "/etc/init.d/boot.local"
++        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.098204 seconds and 4 git commands to generate.