]> git.pld-linux.org Git - packages/systemd.git/blob - target-pld.patch
- partial update to 217 (kernel 3.7+ now required)
[packages/systemd.git] / target-pld.patch
1 diff -dur -x '*~' -x '*.orig' systemd-208.orig/Makefile.am systemd-208/Makefile.am
2 --- systemd-208.orig/Makefile.am        2013-10-02 04:57:09.000000000 +0200
3 +++ systemd-208/Makefile.am     2014-01-09 15:15:41.000000000 +0100
4 @@ -211,6 +211,8 @@
5  TIMERS_TARGET_WANTS =
6  USER_SOCKETS_TARGET_WANTS =
7  USER_BUSNAMES_TARGET_WANTS =
8 +FINAL_TARGET_WANTS =
9 +GRAPHICAL_TARGET_WANTS =
10  
11  SYSTEM_UNIT_ALIASES =
12  USER_UNIT_ALIASES =
13 @@ -230,6 +232,8 @@
14         what="$(SLICES_TARGET_WANTS)" && wants=slices.target && $(add-wants)
15         what="$(USER_SOCKETS_TARGET_WANTS)" && wants=sockets.target && dir=$(userunitdir) && $(add-wants)
16         what="$(USER_BUSNAMES_TARGET_WANTS)" && wants=busnames.target && dir=$(userunitdir) && $(add-wants)
17 +       what="$(FINAL_TARGET_WANTS)" && wants=final.target && dir=$(systemunitdir) && $(add-wants)
18 +       what="$(GRAPHICAL_TARGET_WANTS)" && wants=graphical.target && dir=$(systemunitdir) && $(add-wants)
19  
20  define add-wants
21         [ -z "$$what" ] || ( \
22 @@ -4001,9 +4005,16 @@
23         $(systemdstatedir)
24  
25  MULTI_USER_TARGET_WANTS += \
26 +       rc-local.service \
27         systemd-logind.service \
28         systemd-user-sessions.service
29  
30 +FINAL_TARGET_WANTS += \
31 +       halt-local.service
32 +
33 +GRAPHICAL_TARGET_WANTS += \
34 +       display-manager.service
35 +
36  SYSTEM_UNIT_ALIASES += \
37         systemd-logind.service dbus-org.freedesktop.login1.service
38  
39 @@ -4493,6 +4504,10 @@
40  uninstall-hook: $(UNINSTALL_DATA_HOOKS) $(UNINSTALL_EXEC_HOOKS)
41  
42  install-data-hook: $(INSTALL_DATA_HOOKS)
43 +       ( cd $(DESTDIR)$(systemunitdir) && \
44 +               rm -f display-manager.service single.service && \
45 +               $(LN_S) prefdm.service display-manager.service && \
46 +               $(LN_S) rescue.service single.service )
47  
48  distclean-local: $(DISTCLEAN_LOCAL_HOOKS)
49  
50 diff -dur -x '*~' -x '*.orig' systemd-208.orig/src/core/hostname-setup.c systemd-208/src/core/hostname-setup.c
51 --- systemd-208.orig/src/core/hostname-setup.c  2013-08-13 22:02:46.000000000 +0200
52 +++ systemd-208/src/core/hostname-setup.c       2014-01-09 15:15:41.000000000 +0100
53 @@ -53,13 +53,84 @@
54          return 0;
55  }
56  
57 +static int read_distro_hostname(char **hn) {
58 +        int r;
59 +        _cleanup_fclose_ FILE *f = NULL;
60 +
61 +        assert(hn);
62 +
63 +        f = fopen("/etc/sysconfig/network", "re");
64 +        if (!f)
65 +                return -errno;
66 +
67 +        for (;;) {
68 +                char line[LINE_MAX];
69 +                char *s, *k;
70 +
71 +                if (!fgets(line, sizeof(line), f)) {
72 +                        if (feof(f))
73 +                                break;
74 +
75 +                        r = -errno;
76 +                        goto finish;
77 +                }
78 +
79 +                s = strstrip(line);
80 +
81 +                if (!startswith_no_case(s, "HOSTNAME="))
82 +                        continue;
83 +
84 +                k = strdup(s+9);
85 +                if (!k) {
86 +                        r = -ENOMEM;
87 +                        goto finish;
88 +                }
89 +
90 +                hostname_cleanup(k, false);
91 +
92 +                if (isempty(k)) {
93 +                        free(k);
94 +                        r = -ENOENT;
95 +                        goto finish;
96 +                }
97 +
98 +                *hn = k;
99 +                r = 0;
100 +                goto finish;
101 +        }
102 +
103 +        r = -ENOENT;
104 +
105 +finish:
106 +        return r;
107 +}
108 +
109 +static int read_hostname(char **hn) {
110 +        int r;
111 +
112 +        assert(hn);
113 +
114 +        /* First, try to load the generic hostname configuration file,
115 +         * that we support on all distributions */
116 +
117 +        r = read_and_strip_hostname("/etc/hostname", hn);
118 +        if (r < 0) {
119 +                if (r == -ENOENT)
120 +                        return read_distro_hostname(hn);
121 +
122 +                return r;
123 +        }
124 +
125 +        return 0;
126 +}
127 +
128  int hostname_setup(void) {
129          int r;
130          _cleanup_free_ char *b = NULL;
131          const char *hn;
132          bool enoent = false;
133  
134 -        r = read_and_strip_hostname("/etc/hostname", &b);
135 +        r = read_hostname(&b);
136          if (r < 0) {
137                  if (r == -ENOENT)
138                          enoent = true;
139 diff -dur -x '*~' -x '*.orig' systemd-208.orig/src/core/locale-setup.c systemd-208/src/core/locale-setup.c
140 --- systemd-208.orig/src/core/locale-setup.c    2013-10-01 00:17:21.000000000 +0200
141 +++ systemd-208/src/core/locale-setup.c 2014-01-09 15:15:41.000000000 +0100
142 @@ -76,6 +76,7 @@
143  
144          if (detect_container(NULL) <= 0) {
145                  r = parse_env_file("/proc/cmdline", WHITESPACE,
146 +                                   "LANG",                     &variables[VARIABLE_LANG],
147                                     "locale.LANG",              &variables[VARIABLE_LANG],
148                                     "locale.LANGUAGE",          &variables[VARIABLE_LANGUAGE],
149                                     "locale.LC_CTYPE",          &variables[VARIABLE_LC_CTYPE],
150 @@ -120,6 +121,15 @@
151                          log_warning("Failed to read /etc/locale.conf: %s", strerror(-r));
152          }
153  
154 +        if (r <= 0 &&
155 +            (r = parse_env_file("/etc/sysconfig/i18n", NEWLINE,
156 +                                "LANG", &variables[VARIABLE_LANG],
157 +                                NULL)) < 0) {
158 +
159 +                if (r != -ENOENT)
160 +                        log_warning("Failed to read /etc/sysconfig/i18n: %s", strerror(-r));
161 +        }
162 +
163          add = NULL;
164          for (i = 0; i < _VARIABLE_MAX; i++) {
165                  char *s;
166 diff -dur -x '*~' -x '*.orig' systemd-208.orig/src/timedate/timedated.c systemd-208/src/timedate/timedated.c
167 --- systemd-208.orig/src/timedate/timedated.c   2013-08-13 22:02:47.000000000 +0200
168 +++ systemd-208/src/timedate/timedated.c        2014-01-09 15:15:41.000000000 +0100
169 @@ -183,6 +183,14 @@
170                  }
171          }
172  
173 +       r = parse_env_file("/etc/sysconfig/timezone", NEWLINE,
174 +                          "TIMEZONE", &c->zone,
175 +                          NULL);
176 +       if (r < 0) {
177 +               if (r != -ENOENT)
178 +                       log_warning("Failed to read /etc/sysconfig/timezone: %s", strerror(-r));
179 +       }
180
181  have_timezone:
182          if (isempty(c->zone)) {
183                  free(c->zone);
184 diff -dur -x '*~' -x '*.orig' systemd-208.orig/src/vconsole/vconsole-setup.c systemd-208/src/vconsole/vconsole-setup.c
185 --- systemd-208.orig/src/vconsole/vconsole-setup.c      2013-08-13 22:02:47.000000000 +0200
186 +++ systemd-208/src/vconsole/vconsole-setup.c   2014-01-09 15:17:49.000000000 +0100
187 @@ -284,6 +284,17 @@ int main(int argc, char **argv) {
188          if (r < 0 && r != -ENOENT)
189                  log_warning("Failed to read /etc/vconsole.conf: %s", strerror(-r));
190  
191 +        if (r <= 0) {
192 +                int r1 = parse_env_file("/etc/sysconfig/console", NEWLINE,
193 +                                "CONSOLEFONT", &vc_font,
194 +                                "CONSOLEMAP", &vc_font_map,
195 +                                "CONSOLESCREENFONTMAP", &vc_font_unimap,
196 +                                "KEYTABLE", &vc_keymap,
197 +                                NULL);
198 +                if (r1 < 0 && r1 != -ENOENT)
199 +                        log_warning("Failed to read /etc/sysconfig/console: %s", strerror(-r1));
200 +        } 
201 +
202          /* Let the kernel command line override /etc/vconsole.conf */
203          if (detect_container(NULL) <= 0) {
204                  r = parse_env_file("/proc/cmdline", WHITESPACE,
This page took 0.045449 seconds and 4 git commands to generate.