Hello community,

here is the log from the commit of package systemd for openSUSE:Factory checked 
in at 2014-07-26 12:19:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd (Old)
 and      /work/SRC/openSUSE:Factory/.systemd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "systemd"

Changes:
--------
--- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes     2014-07-23 
22:06:20.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.systemd.new/systemd-mini.changes        
2014-07-26 12:19:55.000000000 +0200
@@ -1,0 +2,50 @@
+Fri Jul 25 11:06:54 UTC 2014 - [email protected]
+
+- Disable blkrrpart for SLES12 and below
+
+-------------------------------------------------------------------
+Fri Jul 25 09:37:56 UTC 2014 - [email protected]
+
+- Add upstream patch
+  1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
+- Add with condition blkrrpart to be able to disable the patches
+  1025, 1027, 1029, 1030, 1031, 1032, 1033, 1034, 1037, and 1054
+  which uses the BLKRRPART ioctl for e.g. synthesize change events
+  which may interfere with other tools like parted.
+
+-------------------------------------------------------------------
+Thu Jul 24 13:05:42 UTC 2014 - [email protected]
+
+- Update
+  handle-disable_caplock-and-compose_table-and-kbd_rate.patch, 
+  handle-numlock-value-in-etc-sysconfig-keyboard.patch: read
+  /etc/vconsole.conf after /etc/sysconfig/(keyboard,console)
+  otherwise empty value in /etc/sysconfig/keyboard might override
+  /etc/vconsole.conf values.
+- Update :
+  0001-journal-compress-return-early-in-uncompress_startswi.patch
+  0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch
+  0002-vconsole-setup-run-setfont-before-loadkeys.patch
+  0003-core-never-consider-failure-when-reading-drop-ins-fa.patch
+  0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch
+  apply-ACL-for-nvidia-device-nodes.patch
+  keep-crypt-password-prompt.patch
+  log-target-null-instead-kmsg.patch
+  parse-crypttab-for-noauto-option.patch
+  set-and-use-default-logconsole.patch: fix all warnings in code
+- Remove 0001-compress-fix-return-value.patch: not relevant to
+  systemd v210 code.
+
+-------------------------------------------------------------------
+Thu Jul 24 10:07:08 UTC 2014 - [email protected]
+
+- Also change udev-generate-peristent-rule to udev-generate-persistent-rule
+  in file list 
+
+-------------------------------------------------------------------
+Thu Jul 24 09:00:43 UTC 2014 - [email protected]
+
+- Rename (fix typo in script name):
+  udev-generate-peristent-rule.sh to udev-generate-persistent-rule.sh 
+
+-------------------------------------------------------------------
@@ -299 +349 @@
-  fixes udevadm settle exit code which may had roken dracut scripts
+  fixes udevadm settle exit code which may had broken dracut scripts
systemd.changes: same change

Old:
----
  0001-compress-fix-return-value.patch
  udev-generate-peristent-rule.sh

New:
----
  1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
  udev-generate-persistent-rule.sh

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ systemd-mini.spec ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:00.000000000 +0200
@@ -31,8 +31,14 @@
 %else
 %define has_efi 0
 %endif
-%bcond_with     udevsettle
 %bcond_with     permission
+%if 0%{?suse_version} > 1315
+%bcond_without  blkrrpart
+%bcond_without  udevsettle
+%else
+%bcond_with     blkrrpart
+%bcond_with     udevsettle
+%endif
 
 Name:           systemd-mini
 Url:            http://www.freedesktop.org/wiki/Software/systemd
@@ -182,7 +188,7 @@
 Source1060:     boot.udev
 Source1061:     write_dev_root_rule
 Source1062:     systemd-udev-root-symlink
-Source1063:     udev-generate-peristent-rule.sh
+Source1063:     udev-generate-persistent-rule.sh
 Source1064:     systemd-sleep-grub
 Source1065:     systemd-remount-tmpfs
 
@@ -709,8 +715,6 @@
 # PATCH-FIX-UPSTREAM Fix patch 
0004-systemd-detect-virt-only-discover-Xen-domU.patch
 Patch344:       0001-detect-virt-Fix-Xen-domU-discovery.patch
 # PATCH-FIX-UPSTREAM added at 2014/07/21
-Patch345:       0001-compress-fix-return-value.patch
-# PATCH-FIX-UPSTREAM added at 2014/07/21
 Patch346:       0002-Be-more-verbose-when-bind-or-listen-fails.patch
 # PATCH-FIX-UPSTREAM added at 2014/07/21
 Patch347:       0003-Add-quotes-to-warning-message.patch
@@ -837,6 +841,8 @@
 Patch1052:      1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch
 # PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178)
 Patch1053:      1053-better-checks-in-write_net_rules.patch
+# PATCH-FIX-SUSE 
0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch
+Patch1054:      1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
 
 %description
 Systemd is a system and service manager, compatible with SysV and LSB
@@ -1340,7 +1346,6 @@
 %patch342 -p0
 %patch343 -p0
 %patch344 -p0
-%patch345 -p0
 %patch346 -p0
 %patch347 -p0
 %patch348 -p0
@@ -1377,19 +1382,27 @@
 %endif
 %patch1023 -p0
 %patch1024 -p0
+%if %{with blkrrpart}
 %patch1025 -p1
+%endif
 %patch1026 -p1
+%if %{with blkrrpart}
 %patch1027 -p1
+%endif
 %patch1028 -p1
+%if %{with blkrrpart}
 %patch1029 -p1
 %patch1030 -p1
 %patch1031 -p1
 %patch1032 -p1
 %patch1033 -p1
 %patch1034 -p1
+%endif
 %patch1035 -p1
 %patch1036 -p1
+%if %{with blkrrpart}
 %patch1037 -p1
+%endif
 %patch1038 -p0
 %if %{with udevsettle}
 %patch1039 -p0
@@ -1410,6 +1423,9 @@
 %patch1051 -p1
 %patch1052 -p0
 %patch1053 -p1
+%if %{with blkrrpart}
+%patch1054 -p0
+%endif
 
 # ensure generate files are removed
 rm -f units/emergency.service
@@ -1590,7 +1606,7 @@
 install -m755 -D %{S:1061} %{buildroot}/%{_prefix}/lib/udev/write_dev_root_rule
 sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062}
 install -m644 -D %{S:1062} 
%{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
-install -m755 -D %{S:1063} 
%{buildroot}/%{_prefix}/lib/udev/udev-generate-peristent-rule
+install -m755 -D %{S:1063} 
%{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule
 install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub
 install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs
 mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants
@@ -2302,7 +2318,7 @@
 %{_prefix}/lib/udev/scsi_id
 %{_prefix}/lib/udev/v4l_id
 %{_prefix}/lib/udev/write_dev_root_rule
-%{_prefix}/lib/udev/udev-generate-peristent-rule
+%{_prefix}/lib/udev/udev-generate-persistent-rule
 %{_prefix}/lib/udev/net-set-sriov-names
 %{_prefix}/lib/udev/remount-tmpfs
 %{_prefix}/lib/udev/rule_generator.functions

++++++ systemd.spec ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:00.000000000 +0200
@@ -29,8 +29,14 @@
 %else
 %define has_efi 0
 %endif
-%bcond_with     udevsettle
 %bcond_with     permission
+%if 0%{?suse_version} > 1315
+%bcond_without  blkrrpart
+%bcond_without  udevsettle
+%else
+%bcond_with     blkrrpart
+%bcond_with     udevsettle
+%endif
 
 Name:           systemd
 Url:            http://www.freedesktop.org/wiki/Software/systemd
@@ -177,7 +183,7 @@
 Source1060:     boot.udev
 Source1061:     write_dev_root_rule
 Source1062:     systemd-udev-root-symlink
-Source1063:     udev-generate-peristent-rule.sh
+Source1063:     udev-generate-persistent-rule.sh
 Source1064:     systemd-sleep-grub
 Source1065:     systemd-remount-tmpfs
 
@@ -704,8 +710,6 @@
 # PATCH-FIX-UPSTREAM Fix patch 
0004-systemd-detect-virt-only-discover-Xen-domU.patch
 Patch344:       0001-detect-virt-Fix-Xen-domU-discovery.patch
 # PATCH-FIX-UPSTREAM added at 2014/07/21
-Patch345:       0001-compress-fix-return-value.patch
-# PATCH-FIX-UPSTREAM added at 2014/07/21
 Patch346:       0002-Be-more-verbose-when-bind-or-listen-fails.patch
 # PATCH-FIX-UPSTREAM added at 2014/07/21
 Patch347:       0003-Add-quotes-to-warning-message.patch
@@ -832,6 +836,8 @@
 Patch1052:      1052-rules-uaccess-add-ID_SOFTWARE_RADIO.patch
 # PATCH-FIX-SUSE 1053-better-checks-in-write_net_rules.patch (bnc#888178)
 Patch1053:      1053-better-checks-in-write_net_rules.patch
+# PATCH-FIX-SUSE 
0001-udev-exclude-MD-from-block-device-ownership-event-lo.patch
+Patch1054:      1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch
 
 %description
 Systemd is a system and service manager, compatible with SysV and LSB
@@ -1335,7 +1341,6 @@
 %patch342 -p0
 %patch343 -p0
 %patch344 -p0
-%patch345 -p0
 %patch346 -p0
 %patch347 -p0
 %patch348 -p0
@@ -1372,19 +1377,27 @@
 %endif
 %patch1023 -p0
 %patch1024 -p0
+%if %{with blkrrpart}
 %patch1025 -p1
+%endif
 %patch1026 -p1
+%if %{with blkrrpart}
 %patch1027 -p1
+%endif
 %patch1028 -p1
+%if %{with blkrrpart}
 %patch1029 -p1
 %patch1030 -p1
 %patch1031 -p1
 %patch1032 -p1
 %patch1033 -p1
 %patch1034 -p1
+%endif
 %patch1035 -p1
 %patch1036 -p1
+%if %{with blkrrpart}
 %patch1037 -p1
+%endif
 %patch1038 -p0
 %if %{with udevsettle}
 %patch1039 -p0
@@ -1405,6 +1418,9 @@
 %patch1051 -p1
 %patch1052 -p0
 %patch1053 -p1
+%if %{with blkrrpart}
+%patch1054 -p0
+%endif
 
 # ensure generate files are removed
 rm -f units/emergency.service
@@ -1585,7 +1601,7 @@
 install -m755 -D %{S:1061} %{buildroot}/%{_prefix}/lib/udev/write_dev_root_rule
 sed -ie "s|@@PREFIX@@|%{_prefix}/lib/udev|g" %{S:1062}
 install -m644 -D %{S:1062} 
%{buildroot}/%{_prefix}/lib/systemd/system/systemd-udev-root-symlink.service
-install -m755 -D %{S:1063} 
%{buildroot}/%{_prefix}/lib/udev/udev-generate-peristent-rule
+install -m755 -D %{S:1063} 
%{buildroot}/%{_prefix}/lib/udev/udev-generate-persistent-rule
 install -m755 -D %{S:1064} %{buildroot}/%{_bindir}/systemd-sleep-grub
 install -m755 -D %{S:1065} %{buildroot}/%{_prefix}/lib/udev/remount-tmpfs
 mkdir -p %{buildroot}/%{_prefix}/lib/systemd/system/basic.target.wants
@@ -2297,7 +2313,7 @@
 %{_prefix}/lib/udev/scsi_id
 %{_prefix}/lib/udev/v4l_id
 %{_prefix}/lib/udev/write_dev_root_rule
-%{_prefix}/lib/udev/udev-generate-peristent-rule
+%{_prefix}/lib/udev/udev-generate-persistent-rule
 %{_prefix}/lib/udev/net-set-sriov-names
 %{_prefix}/lib/udev/remount-tmpfs
 %{_prefix}/lib/udev/rule_generator.functions

++++++ 0001-core-close-socket-fds-asynchronously.patch ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:00.000000000 +0200
@@ -9,8 +9,10 @@
  src/core/service.c |    5 +++--
  2 files changed, 27 insertions(+), 2 deletions(-)
 
---- src/core/service.c
-+++ src/core/service.c 2014-05-16 11:41:50.150735247 +0000
+Index: src/core/service.c
+===================================================================
+--- src/core/service.c.orig
++++ src/core/service.c
 @@ -25,6 +25,7 @@
  #include <unistd.h>
  #include <sys/reboot.h>
@@ -37,8 +39,10 @@
                          s->socket_fd = fdset_remove(fds, fd);
                  }
          } else if (streq(key, "main-exec-status-pid")) {
---- src/core/async.c
-+++ src/core/async.c   2014-05-07 09:40:35.000000000 +0000
+Index: src/core/async.c
+===================================================================
+--- src/core/async.c.orig
++++ src/core/async.c
 @@ -24,6 +24,7 @@
  
  #include "async.h"
@@ -74,3 +78,12 @@
 +
 +        return -1;
 +}
+Index: src/core/async.h
+===================================================================
+--- src/core/async.h.orig
++++ src/core/async.h
+@@ -23,3 +23,4 @@
+ 
+ int asynchronous_job(void* (*func)(void *p), void *arg);
+ int asynchronous_sync(void);
++int asynchronous_close(int fd);

++++++ 0001-journal-compress-return-early-in-uncompress_startswi.patch ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:00.000000000 +0200
@@ -11,9 +11,19 @@
  src/journal/compress.c |   91 
++++++++++++++-----------------------------------
  1 file changed, 27 insertions(+), 64 deletions(-)
 
---- src/journal/compress.c
-+++ src/journal/compress.c     2014-07-09 00:00:00.000000000 +0000
-@@ -69,10 +69,9 @@ fail:
+Index: src/journal/compress.c
+===================================================================
+--- src/journal/compress.c.orig
++++ src/journal/compress.c
+@@ -25,6 +25,7 @@
+ #include <lzma.h>
+ 
+ #include "macro.h"
++#include "util.h"
+ #include "compress.h"
+ 
+ bool compress_blob(const void *src, uint64_t src_size, void *dst, uint64_t 
*dst_size) {
+@@ -69,10 +70,9 @@ fail:
  bool uncompress_blob(const void *src, uint64_t src_size,
                       void **dst, uint64_t *dst_alloc_size, uint64_t* 
dst_size, uint64_t dst_max) {
  
@@ -25,7 +35,7 @@
  
          assert(src);
          assert(src_size > 0);
-@@ -85,26 +84,18 @@ bool uncompress_blob(const void *src, ui
+@@ -85,26 +85,18 @@ bool uncompress_blob(const void *src, ui
          if (ret != LZMA_OK)
                  return false;
  
@@ -40,7 +50,7 @@
 -                *dst_alloc_size = src_size*2;
 -        }
 +        space = MIN(src_size * 2, dst_max ?: (uint64_t) -1);
-+        if (!greedy_realloc(dst, dst_alloc_size, space, 1))
++        if (!greedy_realloc(dst, dst_alloc_size, space))
 +                return false;
  
          s.next_in = src;
@@ -56,7 +66,7 @@
  
                  ret = lzma_code(&s, LZMA_FINISH);
  
-@@ -112,31 +103,25 @@ bool uncompress_blob(const void *src, ui
+@@ -112,31 +104,25 @@ bool uncompress_blob(const void *src, ui
                          break;
  
                  if (ret != LZMA_OK)
@@ -78,7 +88,7 @@
 -                space *= 2;
 +                used = space - s.avail_out;
 +                space = MIN(2 * space, dst_max ?: (uint64_t) -1);
-+                if (!greedy_realloc(dst, dst_alloc_size, space, 1))
++                if (!greedy_realloc(dst, dst_alloc_size, space))
 +                        return false;
  
 -                *dst = p;
@@ -98,7 +108,7 @@
  }
  
  bool uncompress_startswith(const void *src, uint64_t src_size,
-@@ -144,9 +129,8 @@ bool uncompress_startswith(const void *s
+@@ -144,9 +130,8 @@ bool uncompress_startswith(const void *s
                             const void *prefix, uint64_t prefix_len,
                             uint8_t extra) {
  
@@ -109,7 +119,7 @@
  
          /* Checks whether the uncompressed blob starts with the
           * mentioned prefix. The byte extra needs to follow the
-@@ -163,16 +147,8 @@ bool uncompress_startswith(const void *s
+@@ -163,16 +148,8 @@ bool uncompress_startswith(const void *s
          if (ret != LZMA_OK)
                  return false;
  
@@ -123,12 +133,12 @@
 -                *buffer = p;
 -                *buffer_size = prefix_len*2;
 -        }
-+        if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1, 1)))
++        if (!(greedy_realloc(buffer, buffer_size, prefix_len + 1)))
 +                return false;
  
          s.next_in = src;
          s.avail_in = src_size;
-@@ -181,36 +157,23 @@ bool uncompress_startswith(const void *s
+@@ -181,36 +158,23 @@ bool uncompress_startswith(const void *s
          s.avail_out = *buffer_size;
  
          for (;;) {
@@ -167,7 +177,7 @@
 -
 -fail:
 -        lzma_end(&s);
-+                if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2, 
1)))
++                if (!(greedy_realloc(buffer, buffer_size, *buffer_size * 2)))
 +                        return false;
  
 -        return b;

++++++ 0002-util-don-t-consider-tabs-special-in-string_has_cc-an.patch ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:00.000000000 +0200
@@ -12,11 +12,11 @@
  src/shared/util.h        |    5 +++--
  5 files changed, 18 insertions(+), 15 deletions(-)
 
-diff --git src/hostname/hostnamed.c src/hostname/hostnamed.c
-index 14629dd..514554d 100644
---- src/hostname/hostnamed.c
+Index: src/hostname/hostnamed.c
+===================================================================
+--- src/hostname/hostnamed.c.orig
 +++ src/hostname/hostnamed.c
-@@ -550,8 +550,7 @@ static int set_machine_info(Context *c, sd_bus *bus, 
sd_bus_message *m, int prop
+@@ -507,8 +507,7 @@ static int set_machine_info(Context *c,
  
                  if (prop == PROP_ICON_NAME && !filename_is_safe(name))
                          return sd_bus_error_setf(error, 
SD_BUS_ERROR_INVALID_ARGS, "Invalid icon name '%s'", name);
@@ -26,9 +26,9 @@
                          return sd_bus_error_setf(error, 
SD_BUS_ERROR_INVALID_ARGS, "Invalid pretty host name '%s'", name);
                  if (prop == PROP_CHASSIS && !valid_chassis(name))
                          return sd_bus_error_setf(error, 
SD_BUS_ERROR_INVALID_ARGS, "Invalid chassis '%s'", name);
-diff --git src/shared/env-util.c src/shared/env-util.c
-index b2e4553..20b208f 100644
---- src/shared/env-util.c
+Index: src/shared/env-util.c
+===================================================================
+--- src/shared/env-util.c.orig
 +++ src/shared/env-util.c
 @@ -78,7 +78,9 @@ bool env_value_is_valid(const char *e) {
          if (!utf8_is_valid(e))
@@ -41,11 +41,11 @@
                  return false;
  
          /* POSIX says the overall size of the environment block cannot
-diff --git src/shared/fileio.c src/shared/fileio.c
-index fb1c1bc..b1de590 100644
---- src/shared/fileio.c
+Index: src/shared/fileio.c
+===================================================================
+--- src/shared/fileio.c.orig
 +++ src/shared/fileio.c
-@@ -738,7 +738,7 @@ static void write_env_var(FILE *f, const char *v) {
+@@ -658,7 +658,7 @@ static void write_env_var(FILE *f, const
          p++;
          fwrite(v, 1, p-v, f);
  
@@ -54,11 +54,11 @@
                  fputc('\"', f);
  
                  for (; *p; p++) {
-diff --git src/shared/util.c src/shared/util.c
-index d25ee66..d223ecf 100644
---- src/shared/util.c
+Index: src/shared/util.c
+===================================================================
+--- src/shared/util.c.orig
 +++ src/shared/util.c
-@@ -5350,16 +5350,14 @@ bool filename_is_safe(const char *p) {
+@@ -5466,16 +5466,14 @@ bool filename_is_safe(const char *p) {
  bool string_is_safe(const char *p) {
          const char *t;
  
@@ -78,7 +78,7 @@
                          return false;
          }
  
-@@ -5367,16 +5365,19 @@ bool string_is_safe(const char *p) {
+@@ -5483,16 +5481,19 @@ bool string_is_safe(const char *p) {
  }
  
  /**
@@ -102,21 +102,11 @@
                          return true;
  
                  if (*t == 127)
-diff --git src/shared/util.h src/shared/util.h
-index e23069c..8544940 100644
---- src/shared/util.h
+Index: src/shared/util.h
+===================================================================
+--- src/shared/util.h.orig
 +++ src/shared/util.h
-@@ -382,7 +382,8 @@ bool fstype_is_network(const char *fstype);
- int chvt(int vt);
- 
- int read_one_char(FILE *f, char *ret, usec_t timeout, bool *need_nl);
--int ask(char *ret, const char *replies, const char *text, ...) _printf_(3, 4);
-+int ask_char(char *ret, const char *replies, const char *text, ...) 
_printf_(3, 4);
-+int ask_string(char **ret, const char *text, ...) _printf_(2, 3);
- 
- int reset_terminal_fd(int fd, bool switch_to_text);
- int reset_terminal(const char *name);
-@@ -692,7 +693,7 @@ _alloc_(2, 3) static inline void *memdup_multiply(const 
void *p, size_t a, size_
+@@ -652,7 +652,7 @@ _alloc_(2, 3) static inline void *memdup
  bool filename_is_safe(const char *p) _pure_;
  bool path_is_safe(const char *p) _pure_;
  bool string_is_safe(const char *p) _pure_;
@@ -125,6 +115,3 @@
  
  /**
   * Check if a string contains any glob patterns.
--- 
-1.7.9.2
-

++++++ 0002-vconsole-setup-run-setfont-before-loadkeys.patch ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:00.000000000 +0200
@@ -16,8 +16,10 @@
  src/vconsole/vconsole-setup.c |   93 
+++++++++++++++++++++---------------------
  1 file changed, 47 insertions(+), 46 deletions(-)
 
---- src/vconsole/vconsole-setup.c
-+++ src/vconsole/vconsole-setup.c      2014-07-07 12:30:27.390235226 +0000
+Index: src/vconsole/vconsole-setup.c
+===================================================================
+--- src/vconsole/vconsole-setup.c.orig
++++ src/vconsole/vconsole-setup.c
 @@ -340,23 +340,20 @@ static int set_kbd_rate(const char *vc,
  
  int main(int argc, char **argv) {
@@ -66,14 +68,10 @@
          }
  
          utf8 = is_locale_utf8();
-@@ -464,61 +461,65 @@ int main(int argc, char **argv) {
-                 } else
- #endif
-                         numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, 
"yes");
--
- #endif
+@@ -464,58 +461,62 @@ int main(int argc, char **argv) {
+                 if (r < 0 && r != -ENOENT)
+                         log_warning("Failed to read /proc/cmdline: %s", 
strerror(-r));
          }
- 
 +#ifdef HAVE_SYSV_COMPAT
 +finish:
 +        r = set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid);
@@ -81,81 +79,84 @@
 +                log_error("Failed to start /bin/kbdrate: %s", strerror(-r));
 +                return EXIT_FAILURE;
 +        }
-+#endif
 +
++        if (kbd_rate_pid > 0)
++                wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid);
++#endif
+ 
          if (utf8)
                  enable_utf8(fd);
          else
                  disable_utf8(fd);
  
 -        r = EXIT_FAILURE;
+-
+-        if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, 
disable_capslock, &keymap_pid) >= 0 &&
+-#ifdef HAVE_SYSV_COMPAT
+-            load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 
&&
+-            set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 &&
+-#endif
+-            font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 
0)
+-                r = EXIT_SUCCESS;
 +        r = font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid);
 +        if (r < 0) {
 +                log_error("Failed to start " KBD_SETFONT ": %s", 
strerror(-r));
 +                return EXIT_FAILURE;
 +        }
-+
+ 
+-finish:
+-        if (keymap_pid > 0)
+-                wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
+-        if (numlock)
+-                touch("/run/numlock-on");
+-        else
+-                unlink("/run/numlock-on");
 +        if (font_pid > 0)
 +                wait_for_terminate_and_warn(KBD_SETFONT, font_pid);
  
--        if (keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, 
disable_capslock, &keymap_pid) >= 0 &&
  #ifdef HAVE_SYSV_COMPAT
--            load_compose_table(vc, vc_compose_table, &compose_table_pid) >= 0 
&&
--            set_kbd_rate(vc, vc_kbd_rate, vc_kbd_delay, &kbd_rate_pid) >= 0 &&
 +        r = load_compose_table(vc, vc_compose_table, &compose_table_pid);
 +        if (r < 0) {
-+                log_error("Failed to start " KBD_SETFONT ": %s", 
strerror(-r));
-+                return EXIT_FAILURE;
-+        }
-+
-+        if (compose_table_pid > 0)
-+                wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid);
- #endif
--            font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 
0)
--                r = EXIT_SUCCESS;
- 
--finish:
-+        r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, 
disable_capslock, &keymap_pid);
-+        if (r < 0) {
 +                log_error("Failed to start " KBD_LOADKEYS ": %s", 
strerror(-r));
 +                return EXIT_FAILURE;
 +        }
 +
-         if (keymap_pid > 0)
-                 wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
-+
-+#ifdef HAVE_SYSV_COMPAT
-         if (numlock)
-                 touch("/run/numlock-on");
-         else
-                 unlink("/run/numlock-on");
- 
--#ifdef HAVE_SYSV_COMPAT
--        if (compose_table_pid > 0)
--                wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid);
+         if (compose_table_pid > 0)
+                 wait_for_terminate_and_warn(KBD_LOADKEYS, compose_table_pid);
 -
-         if (kbd_rate_pid > 0)
-                 wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid);
+-        if (kbd_rate_pid > 0)
+-                wait_for_terminate_and_warn("/bin/kbdrate", kbd_rate_pid);
  #endif
  
 -        if (font_pid > 0) {
 -                wait_for_terminate_and_warn(KBD_SETFONT, font_pid);
 -                if (font_copy)
 -                        font_copy_to_all_vcs(fd);
--        }
--
++        r = keymap_load(vc, vc_keymap, vc_keymap_toggle, utf8, 
disable_capslock, &keymap_pid);
++        if (r < 0) {
++                log_error("Failed to start " KBD_LOADKEYS ": %s", 
strerror(-r));
++                return EXIT_FAILURE;
+         }
+ 
 -        free(vc_keymap);
 -        free(vc_font);
 -        free(vc_font_map);
 -        free(vc_font_unimap);
 -        free(vc_kbd_numlock);
--#ifdef HAVE_SYSV_COMPAT
++        if (keymap_pid > 0)
++                wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
++
+ #ifdef HAVE_SYSV_COMPAT
 -        free(vc_kbd_delay);
 -        free(vc_kbd_rate);
 -        free(vc_kbd_disable_caps_lock);
 -        free(vc_compose_table);
--#endif
--
++        if (numlock)
++                touch("/run/numlock-on");
++        else
++                unlink("/run/numlock-on");
+ #endif
+ 
 -        if (fd >= 0)
 -                close_nointr_nofail(fd);
 +        /* Only copy the font when we started setfont successfully */

++++++ 0003-core-never-consider-failure-when-reading-drop-ins-fa.patch ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:00.000000000 +0200
@@ -9,9 +9,9 @@
  src/core/load-dropin.c |   42 +++++++++++++-----------------------------
  1 file changed, 13 insertions(+), 29 deletions(-)
 
-diff --git src/core/load-dropin.c src/core/load-dropin.c
-index 546e560..f2ffc97 100644
---- src/core/load-dropin.c
+Index: src/core/load-dropin.c
+===================================================================
+--- src/core/load-dropin.c.orig
 +++ src/core/load-dropin.c
 @@ -58,6 +58,7 @@ static int iterate_dir(
                  if (errno == ENOENT)
@@ -21,16 +21,15 @@
                  return -errno;
          }
  
-@@ -101,7 +102,7 @@ static int process_dir(
+@@ -101,7 +102,6 @@ static int process_dir(
                  char ***strv) {
  
          _cleanup_free_ char *path = NULL;
 -        int r;
-+        int r, q;
  
          assert(u);
          assert(unit_path);
-@@ -112,11 +113,8 @@ static int process_dir(
+@@ -112,11 +112,8 @@ static int process_dir(
          if (!path)
                  return log_oom();
  
@@ -44,7 +43,7 @@
  
          if (u->instance) {
                  _cleanup_free_ char *template = NULL, *p = NULL;
-@@ -130,11 +128,8 @@ static int process_dir(
+@@ -130,11 +127,8 @@ static int process_dir(
                  if (!p)
                          return log_oom();
  
@@ -58,7 +57,7 @@
          }
  
          return 0;
-@@ -152,12 +147,8 @@ char **unit_find_dropin_paths(Unit *u) {
+@@ -152,12 +146,8 @@ char **unit_find_dropin_paths(Unit *u) {
          SET_FOREACH(t, u->names, i) {
                  char **p;
  
@@ -73,7 +72,15 @@
          }
  
          if (strv_isempty(strv))
-@@ -186,13 +177,8 @@ int unit_load_dropin(Unit *u) {
+@@ -176,7 +166,6 @@ char **unit_find_dropin_paths(Unit *u) {
+ int unit_load_dropin(Unit *u) {
+         Iterator i;
+         char *t, **f;
+-        int r;
+ 
+         assert(u);
+ 
+@@ -186,13 +175,8 @@ int unit_load_dropin(Unit *u) {
                  char **p;
  
                  STRV_FOREACH(p, u->manager->lookup_paths.unit_path) {
@@ -89,7 +96,7 @@
                  }
          }
  
-@@ -201,11 +187,9 @@ int unit_load_dropin(Unit *u) {
+@@ -201,11 +185,9 @@ int unit_load_dropin(Unit *u) {
                  return 0;
  
          STRV_FOREACH(f, u->dropin_paths) {
@@ -104,6 +111,3 @@
          }
  
          u->dropin_mtime = now(CLOCK_REALTIME);
--- 
-1.7.9.2
-

++++++ 0003-fsck-consider-a-fsck-implementation-linked-to-bin-tr.patch ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:00.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:00.000000000 +0200
@@ -9,9 +9,19 @@
  src/shared/path-util.c |   26 +++++++++++++++-----------
  2 files changed, 37 insertions(+), 21 deletions(-)
 
---- src/fsck/fsck.c
-+++ src/fsck/fsck.c    2014-06-26 09:19:58.591864710 +0000
-@@ -280,16 +280,28 @@ int main(int argc, char *argv[]) {
+Index: src/fsck/fsck.c
+===================================================================
+--- src/fsck/fsck.c.orig
++++ src/fsck/fsck.c
+@@ -37,6 +37,7 @@
+ #include "bus-errors.h"
+ #include "fileio.h"
+ #include "udev-util.h"
++#include "path-util.h"
+ 
+ static bool arg_skip = false;
+ static bool arg_force = false;
+@@ -280,16 +281,28 @@ int main(int argc, char *argv[]) {
  
          type = udev_device_get_property_value(udev_device, "ID_FS_TYPE");
          if (type) {
@@ -50,8 +60,10 @@
                  }
          }
  
---- src/shared/path-util.c
-+++ src/shared/path-util.c     2014-06-26 09:14:15.651559638 +0000
+Index: src/shared/path-util.c
+===================================================================
+--- src/shared/path-util.c.orig
++++ src/shared/path-util.c
 @@ -425,19 +425,21 @@ int path_is_os_tree(const char *path) {
  
  int find_binary(const char *name, char **filename) {

++++++ 1054-udev-exclude-MD-from-block-device-ownership-event-lo.patch ++++++
>From 2e5b17d01347d3c3118be2b8ad63d20415dbb1f0 Mon Sep 17 00:00:00 2001
From: Kay Sievers <[email protected]>
Date: Thu, 24 Jul 2014 23:37:35 +0200
Subject: [PATCH] udev: exclude MD from block device ownership event locking

MD instantiates devices at open(). This is incomptible with the
locking logic, as the "change" event emitted when stopping a
device will bring it back.
---
 src/udev/udevd.c |   23 +++++++----------------
 1 file changed, 7 insertions(+), 16 deletions(-)

diff --git src/udev/udevd.c src/udev/udevd.c
index a45d324..db935d6 100644
--- src/udev/udevd.c
+++ src/udev/udevd.c
@@ -285,26 +285,17 @@ static void worker_new(struct event *event)
                                 udev_event->exec_delay = exec_delay;
 
                         /*
-                         * Take a "read lock" on the device node; this 
establishes
+                         * Take a shared lock on the device node; this 
establishes
                          * a concept of device "ownership" to serialize device
-                         * access. External processes holding a "write lock" 
will
+                         * access. External processes holding an exclusive 
lock will
                          * cause udev to skip the event handling; in the case 
udev
-                         * acquired the lock, the external process will block 
until
+                         * acquired the lock, the external process can block 
until
                          * udev has finished its event handling.
                          */
-
-                        /*
-                         * <kabi_> since we make check - device seems unused - 
we try
-                         *         ioctl to deactivate - and device is found 
to be opened
-                         * <kay> sure, you try to take a write lock
-                         * <kay> if you get it udev is out
-                         * <kay> if you can't get it, udev is busy
-                         * <kabi_> we cannot deactivate openned device  (as it 
is in-use)
-                         * <kay> maybe we should just exclude dm from that 
thing entirely
-                         * <kabi_> IMHO this sounds like a good plan for this 
moment
-                         */
-                        if (streq_ptr("block", udev_device_get_subsystem(dev)) 
&&
-                            !startswith(udev_device_get_sysname(dev), "dm-")) {
+                        if (!streq_ptr(udev_device_get_action(dev), "remove") 
&&
+                            streq_ptr("block", udev_device_get_subsystem(dev)) 
&&
+                            !startswith(udev_device_get_sysname(dev), "dm-") &&
+                            !startswith(udev_device_get_sysname(dev), "md")) {
                                 struct udev_device *d = dev;
 
                                 if (streq_ptr("partition", 
udev_device_get_devtype(d)))
-- 
1.7.9.2

++++++ apply-ACL-for-nvidia-device-nodes.patch ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:01.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:01.000000000 +0200
@@ -7,18 +7,20 @@
  logind-acl.c |   12 ++++++++++++
  1 file changed, 12 insertions(+)
 
---- systemd-209/src/login/logind-acl.c
-+++ systemd-209/src/login/logind-acl.c 2014-02-28 17:27:51.806239118 +0000
+Index: systemd-210/src/login/logind-acl.c
+===================================================================
+--- systemd-210.orig/src/login/logind-acl.c
++++ systemd-210/src/login/logind-acl.c
 @@ -283,5 +283,17 @@ int devnode_acl_all(struct udev *udev,
                          r = k;
          }
  
 +        /* only apply ACL on nvidia* if /dev/nvidiactl exists */
 +        if (devnode_acl("/dev/nvidiactl", flush, del, old_uid, add, new_uid) 
>= 0) {
-+                int i;
-+                for (i = 0; i <= 256 ; i++) {
++                int j;
++                for (j = 0; j <= 256 ; j++) {
 +                        _cleanup_free_ char *devname = NULL;
-+                        if (asprintf(&devname, "/dev/nvidia%d", i) < 0)
++                        if (asprintf(&devname, "/dev/nvidia%d", j) < 0)
 +                                break;
 +                        if (devnode_acl(devname, flush, del, old_uid, add, 
new_uid) < 0)
 +                                break;

++++++ handle-disable_caplock-and-compose_table-and-kbd_rate.patch ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:01.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:01.000000000 +0200
@@ -7,8 +7,10 @@
  src/vconsole/vconsole-setup.c | 156 +++++++++++++++++++++++++++++++++++++++++-
  1 file changed, 153 insertions(+), 3 deletions(-)
 
---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c
-+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c
+Index: systemd-210/src/vconsole/vconsole-setup.c
+===================================================================
+--- systemd-210.orig/src/vconsole/vconsole-setup.c
++++ systemd-210/src/vconsole/vconsole-setup.c
 @@ -40,6 +40,7 @@
  #include "macro.h"
  #include "virt.h"
@@ -156,38 +158,36 @@
          pid_t font_pid = 0, keymap_pid = 0;
          bool font_copy = false;
          int r = EXIT_FAILURE;
-@@ -276,13 +382,43 @@ int main(int argc, char **argv) {
-                         log_warning("Failed to read /proc/cmdline: %s", 
strerror(-r));
-         }
+@@ -251,6 +357,28 @@ int main(int argc, char **argv) {
+ 
+         utf8 = is_locale_utf8();
  
-+        if (r <= 0) {
 +#ifdef HAVE_SYSV_COMPAT
-+                r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE,
-+                                   "KEYTABLE", &vc_keymap,
-+                                   "KBD_DELAY", &vc_kbd_delay,
-+                                   "KBD_RATE", &vc_kbd_rate,
-+                                   "KBD_DISABLE_CAPS_LOCK", 
&vc_kbd_disable_caps_lock,
-+                                   "COMPOSETABLE", &vc_compose_table,
-+                                   NULL);
-+                if (r < 0 && r != -ENOENT)
-+                        log_warning("Failed to read /etc/sysconfig/keyboard: 
%s", strerror(-r));
-+
-+                r = parse_env_file("/etc/sysconfig/console", NEWLINE,
-+                                   "CONSOLE_FONT", &vc_font,
-+                                   "CONSOLE_SCREENMAP", &vc_font_map,
-+                                   "CONSOLE_UNICODEMAP", &vc_font_unimap,
-+                                   NULL);
-+                if (r < 0 && r != -ENOENT)
-+                        log_warning("Failed to read /etc/sysconfig/console: 
%s", strerror(-r));
-+
-+                disable_capslock = vc_kbd_disable_caps_lock && 
strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0;
++        r = parse_env_file("/etc/sysconfig/keyboard", NEWLINE,
++                "KEYTABLE", &vc_keymap,
++                "KBD_DELAY", &vc_kbd_delay,
++                "KBD_RATE", &vc_kbd_rate,
++                "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock,
++                "COMPOSETABLE", &vc_compose_table,
++                NULL);
++        if (r < 0 && r != -ENOENT)
++            log_warning("Failed to read /etc/sysconfig/keyboard: %s", 
strerror(-r));
++
++        r = parse_env_file("/etc/sysconfig/console", NEWLINE,
++                "CONSOLE_FONT", &vc_font,
++                "CONSOLE_SCREENMAP", &vc_font_map,
++                "CONSOLE_UNICODEMAP", &vc_font_unimap,
++                NULL);
++        if (r < 0 && r != -ENOENT)
++            log_warning("Failed to read /etc/sysconfig/console: %s", 
strerror(-r));
 +
++        disable_capslock = vc_kbd_disable_caps_lock && 
strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0;
 +#endif
-+        }
 +
-         if (utf8)
-                 enable_utf8(fd);
-         else
+         r = parse_env_file("/etc/vconsole.conf", NEWLINE,
+                            "KEYMAP", &vc_keymap,
+                            "KEYMAP_TOGGLE", &vc_keymap_toggle,
+@@ -282,7 +410,12 @@ int main(int argc, char **argv) {
                  disable_utf8(fd);
  
          r = EXIT_FAILURE;
@@ -201,7 +201,7 @@
              font_load(vc, vc_font, vc_font_map, vc_font_unimap, &font_pid) >= 
0)
                  r = EXIT_SUCCESS;
  
-@@ -290,6 +426,14 @@ finish:
+@@ -290,6 +423,14 @@ finish:
          if (keymap_pid > 0)
                  wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
  
@@ -216,7 +216,7 @@
          if (font_pid > 0) {
                  wait_for_terminate_and_warn(KBD_SETFONT, font_pid);
                  if (font_copy)
-@@ -300,6 +444,12 @@ finish:
+@@ -300,6 +441,12 @@ finish:
          free(vc_font);
          free(vc_font_map);
          free(vc_font_unimap);

++++++ handle-numlock-value-in-etc-sysconfig-keyboard.patch ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:01.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:01.000000000 +0200
@@ -6,8 +6,10 @@
 Stanislav Brabec <[email protected]>
 Cristian Rodríguez <[email protected]>
 
---- systemd-206_git201308300826.orig/src/vconsole/vconsole-setup.c
-+++ systemd-206_git201308300826/src/vconsole/vconsole-setup.c
+Index: systemd-210/src/vconsole/vconsole-setup.c
+===================================================================
+--- systemd-210.orig/src/vconsole/vconsole-setup.c
++++ systemd-210/src/vconsole/vconsole-setup.c
 @@ -42,6 +42,10 @@
  #include "fileio.h"
  #include "strv.h"
@@ -34,18 +36,18 @@
          pid_t font_pid = 0, keymap_pid = 0;
          bool font_copy = false;
          int r = EXIT_FAILURE;
-@@ -389,6 +395,7 @@ int main(int argc, char **argv) {
-                                    "KBD_DELAY", &vc_kbd_delay,
-                                    "KBD_RATE", &vc_kbd_rate,
-                                    "KBD_DISABLE_CAPS_LOCK", 
&vc_kbd_disable_caps_lock,
-+                                   "KBD_NUMLOCK", &vc_kbd_numlock,
-                                    "COMPOSETABLE", &vc_compose_table,
-                                    NULL);
-                 if (r < 0 && r != -ENOENT)
-@@ -403,6 +410,36 @@ int main(int argc, char **argv) {
-                         log_warning("Failed to read /etc/sysconfig/console: 
%s", strerror(-r));
+@@ -363,6 +369,7 @@ int main(int argc, char **argv) {
+                 "KBD_DELAY", &vc_kbd_delay,
+                 "KBD_RATE", &vc_kbd_rate,
+                 "KBD_DISABLE_CAPS_LOCK", &vc_kbd_disable_caps_lock,
++                "KBD_NUMLOCK", &vc_kbd_numlock,
+                 "COMPOSETABLE", &vc_compose_table,
+                 NULL);
+         if (r < 0 && r != -ENOENT)
+@@ -377,6 +384,36 @@ int main(int argc, char **argv) {
+             log_warning("Failed to read /etc/sysconfig/console: %s", 
strerror(-r));
  
-                 disable_capslock = vc_kbd_disable_caps_lock && 
strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0;
+         disable_capslock = vc_kbd_disable_caps_lock && 
strcasecmp(vc_kbd_disable_caps_lock, "YES") == 0;
 +#if defined(__i386__) || defined(__x86_64__)
 +                if (vc_kbd_numlock && strcaseeq(vc_kbd_numlock, "bios")) {
 +                        int _cleanup_close_ fdmem;
@@ -76,10 +78,10 @@
 +                } else
 +#endif
 +                        numlock = vc_kbd_numlock && strcaseeq(vc_kbd_numlock, 
"yes");
- 
  #endif
-         }
-@@ -425,6 +462,10 @@ int main(int argc, char **argv) {
+ 
+         r = parse_env_file("/etc/vconsole.conf", NEWLINE,
+@@ -422,6 +459,10 @@ int main(int argc, char **argv) {
  finish:
          if (keymap_pid > 0)
                  wait_for_terminate_and_warn(KBD_LOADKEYS, keymap_pid);
@@ -90,7 +92,7 @@
  
  #ifdef HAVE_SYSV_COMPAT
          if (compose_table_pid > 0)
-@@ -444,6 +485,7 @@ finish:
+@@ -441,6 +482,7 @@ finish:
          free(vc_font);
          free(vc_font_map);
          free(vc_font_unimap);
@@ -98,9 +100,11 @@
  #ifdef HAVE_SYSV_COMPAT
          free(vc_kbd_delay);
          free(vc_kbd_rate);
---- systemd-206_git201308300826.orig/Makefile.am
-+++ systemd-206_git201308300826/Makefile.am
-@@ -2488,6 +2488,19 @@ dist_udevrules_DATA += \
+Index: systemd-210/Makefile.am
+===================================================================
+--- systemd-210.orig/Makefile.am
++++ systemd-210/Makefile.am
+@@ -2847,6 +2847,19 @@ dist_udevrules_DATA += \
        rules/61-accelerometer.rules
  
  # 
------------------------------------------------------------------------------
@@ -120,8 +124,10 @@
  if ENABLE_GUDEV
  if ENABLE_GTK_DOC
  SUBDIRS += \
+Index: systemd-210/rules/73-seat-numlock.rules
+===================================================================
 --- /dev/null
-+++ systemd-206_git201308300826/rules/73-seat-numlock.rules
++++ systemd-210/rules/73-seat-numlock.rules
 @@ -0,0 +1,8 @@
 +#  This file is part of SUSE customization of systemd.
 +#
@@ -131,8 +137,10 @@
 +#  (at your option) any later version.
 +
 +SUBSYSTEM=="tty", ACTION=="add", KERNEL=="tty[0-9]|tty1[0-2]", 
TEST=="/run/numlock-on", RUN+="numlock-on $env{DEVNAME}"
+Index: systemd-210/src/login/numlock-on.c
+===================================================================
 --- /dev/null
-+++ systemd-206_git201308300826/src/login/numlock-on.c
++++ systemd-210/src/login/numlock-on.c
 @@ -0,0 +1,34 @@
 +/*
 + * numlock-on.c: Turn numlock-on
@@ -168,8 +176,10 @@
 +
 +      exit(0);
 +}
---- systemd-206_git201308300826.orig/units/systemd-vconsole-setup.service.in
-+++ systemd-206_git201308300826/units/systemd-vconsole-setup.service.in
+Index: systemd-210/units/systemd-vconsole-setup.service.in
+===================================================================
+--- systemd-210.orig/units/systemd-vconsole-setup.service.in
++++ systemd-210/units/systemd-vconsole-setup.service.in
 @@ -11,7 +11,7 @@ Documentation=man:systemd-vconsole-setup
  DefaultDependencies=no
  Conflicts=shutdown.target

++++++ keep-crypt-password-prompt.patch ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:01.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:01.000000000 +0200
@@ -1,6 +1,8 @@
---- systemd-210/src/core/manager.c     2014-05-05 11:46:17.700483956 +0200
-+++ systemd-210/src/core/manager.c     2014-05-05 13:29:13.296503646 +0200
-@@ -152,6 +152,29 @@
+Index: systemd-210/src/core/manager.c
+===================================================================
+--- systemd-210.orig/src/core/manager.c
++++ systemd-210/src/core/manager.c
+@@ -152,6 +152,29 @@ void manager_flip_auto_status(Manager *m
          }
  }
  
@@ -30,13 +32,13 @@
  static void manager_print_jobs_in_progress(Manager *m) {
          static int is_ansi_console = -1;
          _cleanup_free_ char *job_of_n = NULL;
-@@ -195,6 +217,10 @@
+@@ -195,6 +218,10 @@ static void manager_print_jobs_in_progre
  
          m->jobs_in_progress_iteration++;
  
 +        //don't overwrite the crypt password prompt with job status messages
-+        if (check_for_password_prompt() == 0);
-+                return 0;
++        if (check_for_password_prompt() == 0)
++                return;
 +
          if (m->n_running_jobs > 1)
                  if (asprintf(&job_of_n, "(%u of %u) ", counter, 
m->n_running_jobs) < 0)

++++++ log-target-null-instead-kmsg.patch ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:01.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:01.000000000 +0200
@@ -5,15 +5,15 @@
  src/shared/util.c           |    6 +++++-
  4 files changed, 50 insertions(+), 4 deletions(-)
 
---- systemd-210/src/journal/journald-kmsg.c
-+++ systemd-210/src/journal/journald-kmsg.c    2014-05-09 07:35:02.880122386 
+0000
-@@ -391,12 +391,26 @@
+Index: systemd-210/src/journal/journald-kmsg.c
+===================================================================
+--- systemd-210.orig/src/journal/journald-kmsg.c
++++ systemd-210/src/journal/journald-kmsg.c
+@@ -391,12 +391,24 @@ static int dispatch_dev_kmsg(sd_event_so
          return server_read_dev_kmsg(s);
  }
  
 +static int parse_proc_cmdline_word(const char *word) {
-+        int r;
-+
 +        if (streq(word, "systemd.log_target=null"))
 +                return -115;
 +
@@ -35,15 +35,15 @@
          if (s->dev_kmsg_fd < 0) {
                  log_full(errno == ENOENT ? LOG_DEBUG : LOG_WARNING,
                           "Failed to open /dev/kmsg, ignoring: %m");
---- systemd-210/src/libudev/libudev-util.c
-+++ systemd-210/src/libudev/libudev-util.c     2014-05-09 07:35:28.304122530 
+0000
-@@ -416,6 +416,15 @@
+Index: systemd-210/src/libudev/libudev-util.c
+===================================================================
+--- systemd-210.orig/src/libudev/libudev-util.c
++++ systemd-210/src/libudev/libudev-util.c
+@@ -416,6 +416,13 @@ uint64_t util_string_bloom64(const char
          return bits;
  }
  
 +static int parse_proc_cmdline_word(const char *word) {
-+        int r;
-+
 +        if (streq(word, "systemd.log_target=null"))
 +                return -115;
 +
@@ -53,7 +53,7 @@
  ssize_t print_kmsg(const char *fmt, ...)
  {
          _cleanup_close_ int fd = -1;
-@@ -424,7 +433,12 @@
+@@ -424,7 +431,12 @@ ssize_t print_kmsg(const char *fmt, ...)
          ssize_t len;
          ssize_t ret;
  
@@ -67,15 +67,15 @@
          if (fd < 0)
                  return -errno;
  
---- systemd-210/src/shared/log.c
-+++ systemd-210/src/shared/log.c       2014-05-09 07:35:52.900122669 +0000
-@@ -92,12 +92,26 @@
+Index: systemd-210/src/shared/log.c
+===================================================================
+--- systemd-210.orig/src/shared/log.c
++++ systemd-210/src/shared/log.c
+@@ -92,12 +92,24 @@ void log_close_kmsg(void) {
          kmsg_fd = -1;
  }
  
 +static int parse_proc_cmdline_word(const char *word) {
-+        int r;
-+
 +        if (streq(word, "systemd.log_target=null"))
 +                return -115;
 +
@@ -97,9 +97,11 @@
          if (kmsg_fd < 0)
                  return -errno;
  
---- systemd-210/src/shared/util.c
-+++ systemd-210/src/shared/util.c      2014-05-09 08:51:55.436148462 +0000
-@@ -5975,7 +5975,11 @@
+Index: systemd-210/src/shared/util.c
+===================================================================
+--- systemd-210.orig/src/shared/util.c
++++ systemd-210/src/shared/util.c
+@@ -6069,7 +6069,11 @@ int parse_proc_cmdline(int (*parse_word)
  
                  r = parse_word(word);
                  if (r < 0) {

++++++ parse-crypttab-for-noauto-option.patch ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:01.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:01.000000000 +0200
@@ -2,23 +2,22 @@
  src/fstab-generator/fstab-generator.c |   52 
++++++++++++++++++++++++++++++++--
  1 file changed, 50 insertions(+), 2 deletions(-)
 
---- systemd-210/src/fstab-generator/fstab-generator.c
-+++ systemd-210/src/fstab-generator/fstab-generator.c  2014-05-07 
09:15:01.003911151 +0000
-@@ -37,6 +37,53 @@
+Index: systemd-210/src/fstab-generator/fstab-generator.c
+===================================================================
+--- systemd-210.orig/src/fstab-generator/fstab-generator.c
++++ systemd-210/src/fstab-generator/fstab-generator.c
+@@ -37,6 +37,50 @@
  static const char *arg_dest = "/tmp";
  static bool arg_enabled = true;
  
 +static int check_crypttab(const char *what) {
 +        _cleanup_fclose_ FILE *f = NULL;
 +        unsigned n = 0;
-+        int r;
 +
 +        f = fopen("/etc/crypttab", "re");
 +        if (!f) {
-+                if (errno == ENOENT)
-+                        r = EXIT_SUCCESS;
-+                else
-+                        log_error("Failed to open /etc/crypttab: %m");
++                if (errno != ENOENT)
++                    log_error("Failed to open /etc/crypttab: %m");
 +
 +                return 1;
 +        }
@@ -58,7 +57,7 @@
  static int mount_find_pri(struct mntent *me, int *ret) {
          char *end, *pri;
          unsigned long r;
-@@ -212,7 +259,7 @@
+@@ -212,7 +256,7 @@ static int add_mount(
                  *name = NULL, *unit = NULL, *lnk = NULL,
                  *automount_name = NULL, *automount_unit = NULL;
          _cleanup_fclose_ FILE *f = NULL;
@@ -67,7 +66,7 @@
  
          assert(what);
          assert(where);
-@@ -286,7 +333,8 @@
+@@ -288,7 +332,8 @@ static int add_mount(
                  return -errno;
          }
  

++++++ set-and-use-default-logconsole.patch ++++++
--- /var/tmp/diff_new_pack.7Go0FR/_old  2014-07-26 12:20:01.000000000 +0200
+++ /var/tmp/diff_new_pack.7Go0FR/_new  2014-07-26 12:20:01.000000000 +0200
@@ -6,8 +6,10 @@
  src/journal/journald-server.c  |    5 ++
  3 files changed, 105 insertions(+)
 
---- src/journal/journald-console.c
-+++ src/journal/journald-console.c     2014-07-23 09:08:29.522235688 +0000
+Index: src/journal/journald-console.c
+===================================================================
+--- src/journal/journald-console.c.orig
++++ src/journal/journald-console.c
 @@ -23,6 +23,14 @@
  #include <fcntl.h>
  #include <unistd.h>
@@ -68,7 +70,7 @@
 +                return;
 +
 +        if (access(vc, F_OK) < 0)
-+                return false;
++                return;
 +
 +        fd = open_terminal(vc, O_RDWR|O_NOCTTY|O_CLOEXEC);
 +        if (fd < 0)
@@ -98,17 +100,17 @@
  void server_forward_console(
                  Server *s,
                  int priority,
-@@ -63,6 +139,10 @@ void server_forward_console(
- 
+@@ -64,6 +140,10 @@ void server_forward_console(
          if (LOG_PRI(priority) > s->max_level_console)
                  return;
-+        
+ 
 +        /* Do not write security/authorization (private) messages to console 
*/
 +        if (priority & LOG_AUTHPRIV)
 +                return;
- 
++
          /* First: timestamp */
          if (prefix_timestamp()) {
+                 assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0);
 @@ -101,7 +181,23 @@ void server_forward_console(
          fd = open_terminal(tty, O_WRONLY|O_NOCTTY|O_CLOEXEC);
          if (fd < 0) {
@@ -133,8 +135,10 @@
          }
  
          if (writev(fd, iovec, n) < 0)
---- src/journal/journald-console.h
-+++ src/journal/journald-console.h     2014-07-22 11:20:52.754235644 +0000
+Index: src/journal/journald-console.h
+===================================================================
+--- src/journal/journald-console.h.orig
++++ src/journal/journald-console.h
 @@ -24,3 +24,7 @@
  #include "journald-server.h"
  
@@ -143,8 +147,10 @@
 +void klogconsole(Server *s);
 +void defaul_tty_path(Server *s);
 +#endif
---- src/journal/journald-server.c
-+++ src/journal/journald-server.c      2014-07-22 11:16:45.966236859 +0000
+Index: src/journal/journald-server.c
+===================================================================
+--- src/journal/journald-server.c.orig
++++ src/journal/journald-server.c
 @@ -1509,6 +1509,11 @@ int server_init(Server *s) {
  
          server_parse_config_file(s);

++++++ udev-generate-persistent-rule.sh ++++++
#!/bin/bash
#
# Copyright (C) 2014 Robert Milasan <[email protected]>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
# This script run manually by user, will generate a persistent rule for
# a given network interface to rename it to new interface name.
#

_prj="$(basename $0 2>/dev/null)"
prj="${_prj%.*}"
ver="0.2"

log_info()
{
  local msg="$1"
  echo "$prj: $msg"
}

log_error()
{
 local msg="$1"
 echo "$prj: $msg" >&2
}

usage()
{
  cat << EOF
$prj: udev persistent rule generator script

Usage: $prj [OPTION] ...

       -h              Show this help
       -l              List available interfaces
       -m              Generate the persistent rule based on interface MAC 
address
                       default option, if nothing is specified
       -p              Generate the persistent rule based on interface PCI slot
       -v              Be more verbose
       -V              Output the version number
       -c [INTERFACE]  Current interface name (ex: ip link)
                       only needed for retrieving information
       -n [INTERFACE]  New interface name (ex: net0)
       -o [FILE]       Where to write the new generate rule (default: 
/dev/stdout)
                       prefered location is 
/etc/udev/rules.d/70-persistent-net.rules

Example:
       $prj -v -c enp0s4 -n lan0
    or
       $prj -m -c enp0s4 -n net0 -o /etc/udev/rules.d/70-persistent-net.rules
    or
       $prj -p -c wlp3s0 -n wlan0 -o /etc/udev/rules.d/50-mynet.rules

EOF
}

display_note()
{
  cat << EOF

NOTE: Using the generate persistent rule might mean you will need to do extra 
work to ensure
that it will work accordingly. This mean, regenerating the initramfs/initrd 
image and/or using 
'net.ifnames=0' option at boot time.
In openSUSE/SUSE, the user will need to regenerate the initramfs/initrd image, 
but usually there
is no need for 'net.ifnames=0' option if the persistent rule is available in 
initramfs/initrd image.
EOF
}

get_pci()
{
  local path="$1"
  local pci=""

  if [ -L "$path/device" ]; then
     local pci_link="$(readlink -f $path/device 2>/dev/null)"
     pci="$(basename $pci_link 2>/dev/null)"
  fi
  echo $pci
}

get_pci_id()
{
  local path="$1"
  local pci_id=""

  if [ -r "$path/device/uevent" ]; then
     local _pci_id="$(cat $path/device/uevent|grep ^PCI_ID 2>/dev/null)"
     pci_id="${_pci_id#*=}"
  fi
  echo $pci_id
}

get_macaddr()
{
  local path="$1"
  local macaddr=""

  if [ -r "$path/address" ]; then
     macaddr="$(cat $path/address 2>/dev/null)"
  fi
  echo $macaddr
}

get_type()
{
  local path="$1"
  local dev_type=""
  
  if [ -r "$path/type" ]; then
     dev_type="$(cat $path/type 2>/dev/null)"
  fi
  echo $dev_type
}

get_dev_id()
{
  local path="$1"
  local dev_id=""

  if [ -r "$path/dev_id" ]; then
     dev_id="$(cat $path/dev_id 2>/dev/null)"
  fi
  echo $dev_id
}

get_devtype()
{
  local path="$1"
  local devtype=""
  if [ -r "$path/uevent" ]; then
     local _devtype="$(cat $path/uevent|grep ^DEVTYPE 2>/dev/null)"
     devtype="${_devtype#*=}"
  fi
  echo $devtype
}

get_subsystem()
{
  local path="$1"
  local subsystem=""

  if [ -L "$path/subsystem" ]; then
     local subsystem_link="$(readlink -f $path/subsystem 2>/dev/null)"
     subsystem="$(basename $subsystem_link 2>/dev/null)"
  fi
  echo $subsystem
}

get_parent_subsystem()
{
  local path="$1"
  local subsystem=""

  if [ -L "$path/device/subsystem" ]; then
     local subsystem_link="$(readlink -f $path/device/subsystem 2>/dev/null)"
     subsystem="$(basename $subsystem_link 2>/dev/null)"
  fi
  echo $subsystem
}

get_driver()
{
  local path="$1"
  local driver=""

  if [ -L "$path/device/driver" ]; then
     local driver_link="$(readlink -f $path/device/driver 2>/dev/null)"
     driver="$(basename $driver_link 2>/dev/null)"
  fi
  echo $driver
}

valid_mac()
{
  local macaddr="$1"
  local valid_macaddr=""

  if [ -n "$macaddr" ]; then
     valid_macaddr="$(echo $macaddr | sed -n 
'/^\([0-9a-z][0-9a-z]:\)\{5\}[0-9a-z][0-9a-z]$/p')"
  fi
  echo $valid_macaddr
}

valid_dev_type()
{
  local dev_type="$1"
  
  case "$dev_type" in
         [0-32])
         echo "$dev_type" ;;
         *)
         echo "invalid" ;;
  esac
}

generate_comment()
{
  local pci_id="$1"
  local driver="$2"
  local output="$3"
  local device_type="$4"
  local _type=""
  
  if [ -z "$pci_id" ]; then
     log_error "\$pci_id empty."
     exit 1
  elif [ -z "$driver" ]; then
     log_error "\$driver empty."
     exit 1
  elif [ -z "$output" ]; then
     log_error "\$output empty."
     exit 1
  else
     if [ "$device_type" == "pci" ]; then
        _type="PCI"
     elif [ "$device_type" == "usb" ]; then
        _type="USB"
     else
        _type="Unknown"
     fi
     echo "# $_type device $pci_id ($driver)" >> $output
  fi
}

generate_rule()
{
  local _subsystem="$1"
  local _mac="$2"
  local _pci="$3"
  local _dev_id="$4"
  local _dev_type="$5"
  local _kernel="$6"
  local _interface="$7"
  local output="$8"

  if [ -z "$_subsystem" ]; then
     log_error "\$_subsystem empty."
     exit 1
  elif [ -z "$_dev_id" ]; then
     log_error "\$_dev_id empty."
     exit 1
  elif [ -z "$_dev_type" ]; then
     log_error "\$_dev_type empty."
     exit 1
  elif [ -z "$_kernel" ]; then
     log_error "\$_kernel empty."
     exit 1
  elif [ -z "$_interface" ]; then
     log_error "\$_interface empty."
     exit 1
  elif [ -z "$output" ]; then
     output="/dev/stdout"
  fi

  if [ "$_mac" != "none" ]; then
     echo "SUBSYSTEM==\"$_subsystem\", ACTION==\"add\", DRIVERS==\"?*\", 
ATTR{address}==\"$_mac\", \
ATTR{dev_id}==\"$_dev_id\", ATTR{type}==\"$_dev_type\", KERNEL==\"$_kernel\", 
NAME=\"$_interface\"" >> ${output}
  elif [ "$_pci" != "none" ]; then
     echo "SUBSYSTEM==\"$_subsystem\", ACTION==\"add\", DRIVERS==\"?*\", 
KERNELS==\"$_pci\", \
ATTR{dev_id}==\"$_dev_id\", ATTR{type}==\"$_dev_type\", KERNEL==\"$_kernel\", 
NAME=\"$_interface\"" >> ${output}
  else
     log_error "MAC address or PCI slot information missing."
     exit 1
  fi
}

list_adapters()
{
  declare -a netdev
  local count=0
  local _netdev=""
  local _dev=""

  for _dev in $SYSPATH/*; do
      if [ -L "$_dev/device" ]; then
         local _dev_type="$(cat $_dev/type 2>/dev/null)"
         if [ "$(valid_dev_type $_dev_type)" == "invalid" ]; then
            continue;
         fi
         _dev="$(basename $_dev 2>/dev/null)"
         netdev[$count]="$_dev"
         count=$((count + 1))
      fi
  done

  echo "Found $count network interfaces:"
  for _netdev in "${netdev[@]}"; do
     _macaddr="$(get_macaddr $SYSPATH/$_netdev)"
     _pcislot="$(get_pci $SYSPATH/$_netdev)"
     echo "I: INTERFACE: $_netdev"
     echo "I: MACADDR: $_macaddr"
     echo "I: PCI: $_pcislot"
  done
}

if [ $# -eq 0 ]; then
   usage
   log_error "missing option(s)."
   exit 1
fi

SYSPATH="/sys/class/net"

use_mac=0
use_pci=0
use_verbose=0

while getopts "hlmpvVc:n:o:" opt; do
  case "$opt" in
     h)
       usage; exit 0;;
     l)
       list_adapters; exit 0;;
     m)
       use_mac=1 ;;
     p)
       use_pci=1 ;;
     v)
       use_verbose=1 ;;
     V)
       echo "$prj $ver"; exit 0;;
     c)
       ifcur="$OPTARG" ;;
     n)
       ifnew="$OPTARG" ;;
     o)
       output="$OPTARG" ;;
     \?)
       exit 1 ;;
  esac
done

if [[ "$use_mac" -eq 0 ]] && [[ "$use_pci" -eq 0 ]]; then
   use_mac=1
fi

if [[ "$use_mac" -eq 1 ]] && [[ "$use_pci" -eq 1 ]]; then
   log_error "generating a persistent rule can be done only using one of the 
option, -m or -p, not both."
   exit 1
fi

outfile="$output"
if [ -z "$output" ]; then
   outfile="/dev/stdout"
else
   dir="$(dirname $outfile 2>/dev/null)"
   tmpfile="$dir/.tmp_file"
   if [ -d "$dir" ]; then
      touch "$tmpfile" >/dev/null 2>&1
      if [ $? -ne 0 ]; then
         log_error "no write access for $outfile. make sure you have write 
permissions to $dir."
         exit 1
      fi
      rm -f "$tmpfile" >/dev/null 2>&1
   else
      log_error "$dir not a directory."
      exit 1
  fi
fi

interface="$ifcur"
if [ -z "$interface" ]; then
   log_error "current interface must be specified."
   exit 1
elif [ "$interface" == "lo" ]; then
   log_error "loopback interface is not a valid interface."
   exit 1
fi
[ "$use_verbose" -eq 1 ] && echo "I: INTERFACE=$interface"

new_interface="$ifnew"
if [ -z "$new_interface" ]; then
   log_error "new interface must be specified."
   exit 1
elif [ "$new_interface" == "lo" ]; then
   log_error "new interface cant be named loopback interface."
   exit 
fi
[ "$use_verbose" -eq 1 ] && echo "I: INTERFACE_NEW=$new_interface"

path="$SYSPATH/$interface"
if [ ! -d "$path" ]; then
   log_error "devpath $path not a directory."
   exit 1
fi
[ "$use_verbose" -eq 1 ] && echo "I: DEVPATH=$path"

devtype="$(get_devtype $path)"
if [ -n "$devtype" ]; then
   [ "$use_verbose" -eq 1 ] && echo "I: DEVTYPE=$devtype"
fi

parent_subsystem="$(get_parent_subsystem $path)"
if [ -z "$parent_subsystem" ]; then
   log_error "unable to retrieve parent subsystem for interface $interface."
   exit 1
fi
[ "$use_verbose" -eq 1 ] && echo "I: PARENT_SUBSYSTEM=$parent_subsystem"

subsystem="$(get_subsystem $path)"
if [ -z "$subsystem" ]; then
   log_error "unable to retrieve subsystem for interface $interface."
   exit 1
fi
[ "$use_verbose" -eq 1 ] && echo "I: SUBSYSTEM=$subsystem"

pci_id="$(get_pci_id $path)"
if [ -z "$pci_id" ]; then
   pci_id="0x:0x"
fi
[ "$use_verbose" -eq 1 ] && echo "I: PCI_ID=$pci_id"

driver="$(get_driver $path)"
if [ -z "$driver" ]; then
   log_error "unable to retrieve driver for interface $interface."
   exit 1
fi
[ "$use_verbose" -eq 1 ] && echo "I: DRIVER=$driver"

if [ "$use_mac" -eq 1 ]; then
   macaddr="$(get_macaddr $path)"
   if [ -z "$macaddr" ]; then
      log_error "unable to retrieve MAC address for interface $interface."
      exit 1
   fi
   if [ "$(valid_mac $macaddr)" != "$macaddr" ]; then
      log_error "$macaddr invalid MAC address."
      exit 1
  fi
  [ "$use_verbose" -eq 1 ] && echo "I: MACADDR=$macaddr"
fi

if [ "$use_pci" -eq 1 ]; then
   pci="$(get_pci $path)"
   if [ -z "$pci" ]; then
      log_error "unable to retrieve PCI slot for interface $interface."
      exit 1
   fi
   [ "$use_verbose" -eq 1 ] && echo "I: KERNELS=$pci"
fi

dev_id="$(get_dev_id $path)"
if [ -z "$dev_id" ]; then
   log_error "unable to retrieve dev_id for interface $interface."
   exit 1
fi
[ "$use_verbose" -eq 1 ] && echo "I: DEV_ID=$dev_id"

dev_type="$(get_type $path)"
if [ -z "$dev_type" ]; then
   log_error "unable to retrieve dev_type for interface $interface."
   exit 1
elif [ "$(valid_dev_type $dev_type)" == "invalid" ]; then
   log_info "$interface not a supported device."
   exit 1
fi
[ "$use_verbose" -eq 1 ] && echo "I: TYPE=$dev_type"

kernel="eth*"
if [ -n "$devtype" ]; then
   if [ "$devtype" == "wlan" ]; then
      kernel="wlan*"
   fi
fi

if [ -n "$output" ]; then
   echo "Persistent rule written to "$outfile""
   generate_comment "$pci_id" "$driver" "$outfile" "$parent_subsystem"
fi

if [ "$use_mac" -eq 1 ]; then
   generate_rule "$subsystem" "$macaddr" "none" "$dev_id" "$dev_type" "$kernel" 
"$new_interface"
   if [ -n "$output" ]; then
      generate_rule "$subsystem" "$macaddr" "none" "$dev_id" "$dev_type" 
"$kernel" "$new_interface" "$outfile"
   fi
elif [ "$use_pci" -eq 1 ]; then
   generate_rule "$subsystem" "none" "$pci" "$dev_id" "$dev_type" "$kernel" 
"$new_interface"
   if [ -n "$output" ]; then
      generate_rule "$subsystem" "none" "$pci" "$dev_id" "$dev_type" "$kernel" 
"$new_interface" "$outfile"
   fi
fi

if [ -n "$output" ]; then
   display_note
fi

exit 0
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to