From 6cb7994365f5631eb00eb502a41bdf3b86298325 Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Dec 09 2013 03:07:34 +0000 Subject: Backport a bunch of fixes and hwdb updates --- diff --git a/0001-journal-correctly-convert-usec_t-to-timespec.patch b/0001-journal-correctly-convert-usec_t-to-timespec.patch index faa6350..2dd7246 100644 --- a/0001-journal-correctly-convert-usec_t-to-timespec.patch +++ b/0001-journal-correctly-convert-usec_t-to-timespec.patch @@ -26,6 +26,3 @@ index cc52b8a..b717b92 100644 r = timerfd_settime(s->sync_timer_fd, 0, &sync_timer_enable, NULL); if (r < 0) --- -1.8.2.562.g931e949 - diff --git a/0002-systemd-python-do-not-attempt-to-convert-str-to-byte.patch b/0002-systemd-python-do-not-attempt-to-convert-str-to-byte.patch index e2379d3..51e057e 100644 --- a/0002-systemd-python-do-not-attempt-to-convert-str-to-byte.patch +++ b/0002-systemd-python-do-not-attempt-to-convert-str-to-byte.patch @@ -30,6 +30,3 @@ index 9ef1ede..8fd1bb3 100644 'COREDUMP': bytes, 'COREDUMP_PID': int, 'COREDUMP_UID': int, --- -1.8.2.562.g931e949 - diff --git a/0003-systemd-python-fix-iteration.patch b/0003-systemd-python-fix-iteration.patch index ccb215e..1a6e846 100644 --- a/0003-systemd-python-fix-iteration.patch +++ b/0003-systemd-python-fix-iteration.patch @@ -57,6 +57,3 @@ index 8fd1bb3..adcc844 100644 def add_match(self, *args, **kwargs): """Add one or more matches to the filter journal log entries. --- -1.8.2.562.g931e949 - diff --git a/0004-systemctl-honor-no-legend-in-list-sockets.patch b/0004-systemctl-honor-no-legend-in-list-sockets.patch index 8af5a60..c73e902 100644 --- a/0004-systemctl-honor-no-legend-in-list-sockets.patch +++ b/0004-systemctl-honor-no-legend-in-list-sockets.patch @@ -52,6 +52,3 @@ index 3cca861..e6bd855 100644 return 0; } --- -1.8.2.562.g931e949 - diff --git a/0005-service-kill-processes-with-SIGKILL-on-watchdog-fail.patch b/0005-service-kill-processes-with-SIGKILL-on-watchdog-fail.patch index 2fe682a..35a55c5 100644 --- a/0005-service-kill-processes-with-SIGKILL-on-watchdog-fail.patch +++ b/0005-service-kill-processes-with-SIGKILL-on-watchdog-fail.patch @@ -45,6 +45,3 @@ index 3617c24..e110a41 100644 static void service_enter_stop_post(Service *s, ServiceResult f) { int r; assert(s); --- -1.8.2.562.g931e949 - diff --git a/0006-Fix-CPUShares-configuration-option.patch b/0006-Fix-CPUShares-configuration-option.patch index 968f62d..44c2bfc 100644 --- a/0006-Fix-CPUShares-configuration-option.patch +++ b/0006-Fix-CPUShares-configuration-option.patch @@ -22,6 +22,3 @@ index 82b02bb..7df9d01 100644 { "memory", "memory.soft_limit_in_bytes", "MemorySoftLimit", false, parse_memory_limit, NULL, NULL }, { "memory", "memory.limit_in_bytes", "MemoryLimit", false, parse_memory_limit, NULL, NULL }, { "devices", "devices.allow", "DeviceAllow", true, parse_device, map_device, NULL }, --- -1.8.2.562.g931e949 - diff --git a/0007-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch b/0007-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch index 0d90b99..a6ab1b3 100644 --- a/0007-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch +++ b/0007-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch @@ -82,6 +82,3 @@ index 23090d9..36ef490 100644 int acl_find_uid(acl_t acl, uid_t uid, acl_entry_t *entry); +int calc_acl_mask_if_needed(acl_t *acl_p); int search_acl_groups(char*** dst, const char* path, bool* belong); --- -1.8.2.562.g931e949 - diff --git a/0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch b/0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch index 90f0f8e..0963aa6 100644 --- a/0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch +++ b/0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch @@ -27,6 +27,3 @@ index e110a41..973bd03 100644 return kill(s->main_pid, 0) >= 0 || errno != ESRCH; /* .. otherwise assume we'll get a SIGCHLD for it, --- -1.8.2.562.g931e949 - diff --git a/0009-journal-remember-last-direction-of-search-and-keep-o.patch b/0009-journal-remember-last-direction-of-search-and-keep-o.patch index b4392f9..a0dab03 100644 --- a/0009-journal-remember-last-direction-of-search-and-keep-o.patch +++ b/0009-journal-remember-last-direction-of-search-and-keep-o.patch @@ -117,6 +117,3 @@ index c21712b..c74b4a2 100644 return 1; } --- -1.8.2.562.g931e949 - diff --git a/0010-journal-letting-interleaved-seqnums-go.patch b/0010-journal-letting-interleaved-seqnums-go.patch index f78c56b..51c61e6 100644 --- a/0010-journal-letting-interleaved-seqnums-go.patch +++ b/0010-journal-letting-interleaved-seqnums-go.patch @@ -66,6 +66,3 @@ index da5b725..5813699 100644 free(p); if (r < 0) --- -1.8.2.562.g931e949 - diff --git a/0011-rules-drivers-always-call-kmod-even-when-a-driver-is.patch b/0011-rules-drivers-always-call-kmod-even-when-a-driver-is.patch index 173ed60..1b853ba 100644 --- a/0011-rules-drivers-always-call-kmod-even-when-a-driver-is.patch +++ b/0011-rules-drivers-always-call-kmod-even-when-a-driver-is.patch @@ -37,6 +37,3 @@ index 50523e4..0b22d73 100644 SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN{builtin}="kmod load tifm_sd" SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN{builtin}="kmod load tifm_ms" SUBSYSTEM=="memstick", RUN{builtin}="kmod load ms_block mspro_block" --- -1.8.2.562.g931e949 - diff --git a/0012-80-net-name-slot.rules-only-rename-network-interface.patch b/0012-80-net-name-slot.rules-only-rename-network-interface.patch index 59a006c..58952ff 100644 --- a/0012-80-net-name-slot.rules-only-rename-network-interface.patch +++ b/0012-80-net-name-slot.rules-only-rename-network-interface.patch @@ -37,6 +37,3 @@ index 15b5bc4..c5f1b38 100644 SUBSYSTEM!="net", GOTO="net_name_slot_end" NAME!="", GOTO="net_name_slot_end" --- -1.8.2.562.g931e949 - diff --git a/0013-journal-fix-hashmap-leak-in-mmap-cache.patch b/0013-journal-fix-hashmap-leak-in-mmap-cache.patch index 85544e9..5d527b4 100644 --- a/0013-journal-fix-hashmap-leak-in-mmap-cache.patch +++ b/0013-journal-fix-hashmap-leak-in-mmap-cache.patch @@ -35,6 +35,3 @@ index 767f555..03b57be 100644 while (m->unused) window_free(m->unused); --- -1.8.2.562.g931e949 - diff --git a/0014-fstab-generator-read-rd.fstab-on-off-switch-correctl.patch b/0014-fstab-generator-read-rd.fstab-on-off-switch-correctl.patch index cec42bb..62e946e 100644 --- a/0014-fstab-generator-read-rd.fstab-on-off-switch-correctl.patch +++ b/0014-fstab-generator-read-rd.fstab-on-off-switch-correctl.patch @@ -23,6 +23,3 @@ index c17299f..479938f 100644 else arg_enabled = r; } --- -1.8.2.562.g931e949 - diff --git a/0015-fstab-generator-log_oom-if-automount_name-is-null.patch b/0015-fstab-generator-log_oom-if-automount_name-is-null.patch index 1eda128..e52996e 100644 --- a/0015-fstab-generator-log_oom-if-automount_name-is-null.patch +++ b/0015-fstab-generator-log_oom-if-automount_name-is-null.patch @@ -20,6 +20,3 @@ index 479938f..6b3e67e 100644 return log_oom(); automount_unit = strjoin(arg_dest, "/", automount_name, NULL); --- -1.8.2.562.g931e949 - diff --git a/0016-journald-do-not-overwrite-syslog-facility-when-parsi.patch b/0016-journald-do-not-overwrite-syslog-facility-when-parsi.patch index 9a45451..0f18b46 100644 --- a/0016-journald-do-not-overwrite-syslog-facility-when-parsi.patch +++ b/0016-journald-do-not-overwrite-syslog-facility-when-parsi.patch @@ -22,6 +22,3 @@ index 000f5ac..4aeb9a3 100644 *p += k; } --- -1.8.2.562.g931e949 - diff --git a/0017-journal-fix-parsing-of-facility-in-syslog-messages.patch b/0017-journal-fix-parsing-of-facility-in-syslog-messages.patch index 6ae3701..1491bb9 100644 --- a/0017-journal-fix-parsing-of-facility-in-syslog-messages.patch +++ b/0017-journal-fix-parsing-of-facility-in-syslog-messages.patch @@ -84,6 +84,3 @@ index 324b70e..8ccdb77 100644 size_t syslog_parse_identifier(const char **buf, char **identifier, char **pid); void server_forward_syslog(Server *s, int priority, const char *identifier, const char *message, struct ucred *ucred, struct timeval *tv); --- -1.8.2.562.g931e949 - diff --git a/0018-libudev-fix-memleak-when-enumerating-childs.patch b/0018-libudev-fix-memleak-when-enumerating-childs.patch index 186304d..4677adc 100644 --- a/0018-libudev-fix-memleak-when-enumerating-childs.patch +++ b/0018-libudev-fix-memleak-when-enumerating-childs.patch @@ -47,6 +47,3 @@ index 5ccaabd..7e63820 100644 } static int parent_crawl_children(struct udev_enumerate *enumerate, const char *path, int maxdepth) --- -1.8.2.562.g931e949 - diff --git a/0019-libudev-enumerate-fix-NULL-deref-for-subsystem-match.patch b/0019-libudev-enumerate-fix-NULL-deref-for-subsystem-match.patch index eff6a0f..cc16439 100644 --- a/0019-libudev-enumerate-fix-NULL-deref-for-subsystem-match.patch +++ b/0019-libudev-enumerate-fix-NULL-deref-for-subsystem-match.patch @@ -42,6 +42,3 @@ index 7e63820..77f75bf 100644 udev_list_entry_foreach(list_entry, udev_list_get_entry(&udev_enumerate->subsystem_nomatch_list)) { if (fnmatch(udev_list_entry_get_name(list_entry), subsystem, 0) == 0) return false; --- -1.8.2.562.g931e949 - diff --git a/0020-systemd-coredump-Ignore-coredumps-larger-than-COREDU.patch b/0020-systemd-coredump-Ignore-coredumps-larger-than-COREDU.patch index 3f8a6a1..7985836 100644 --- a/0020-systemd-coredump-Ignore-coredumps-larger-than-COREDU.patch +++ b/0020-systemd-coredump-Ignore-coredumps-larger-than-COREDU.patch @@ -38,6 +38,3 @@ index fd03e38..a7d3c34 100644 if (!GREEDY_REALLOC(coredump_data, coredump_bufsize, coredump_size + 1)) { r = log_oom(); goto finish; --- -1.8.2.562.g931e949 - diff --git a/0021-journalctl-use-_COMM-match-for-scripts.patch b/0021-journalctl-use-_COMM-match-for-scripts.patch index acaed30..7f02a9e 100644 --- a/0021-journalctl-use-_COMM-match-for-scripts.patch +++ b/0021-journalctl-use-_COMM-match-for-scripts.patch @@ -175,6 +175,3 @@ index d56f7cc..b08e796 100644 + test_executable_is_script(); return 0; } --- -1.8.2.562.g931e949 - diff --git a/0022-Allow-tabs-in-environment-files.patch b/0022-Allow-tabs-in-environment-files.patch index 8e12272..2479d56 100644 --- a/0022-Allow-tabs-in-environment-files.patch +++ b/0022-Allow-tabs-in-environment-files.patch @@ -119,6 +119,3 @@ index b08e796..ce77304 100644 test_executable_is_script(); return 0; } --- -1.8.2.562.g931e949 - diff --git a/0023-Actually-allow-tabs-in-environment-files.patch b/0023-Actually-allow-tabs-in-environment-files.patch index 4ad16b7..310f040 100644 --- a/0023-Actually-allow-tabs-in-environment-files.patch +++ b/0023-Actually-allow-tabs-in-environment-files.patch @@ -21,6 +21,3 @@ index 113133f..c9e9b87 100644 return true; return false; --- -1.8.2.562.g931e949 - diff --git a/0024-systemctl-process-only-signals-for-jobs-we-really-wa.patch b/0024-systemctl-process-only-signals-for-jobs-we-really-wa.patch index 89beec9..b6edd0b 100644 --- a/0024-systemctl-process-only-signals-for-jobs-we-really-wa.patch +++ b/0024-systemctl-process-only-signals-for-jobs-we-really-wa.patch @@ -49,6 +49,3 @@ index e6bd855..50f61a3 100644 if (*result) d->result = strdup(result); --- -1.8.2.562.g931e949 - diff --git a/0025-cgtop-fixup-the-online-help.patch b/0025-cgtop-fixup-the-online-help.patch index 78e6acd..00fbf6f 100644 --- a/0025-cgtop-fixup-the-online-help.patch +++ b/0025-cgtop-fixup-the-online-help.patch @@ -25,6 +25,3 @@ index 1e21b00..f7d84da 100644 fflush(stdout); sleep(3); break; --- -1.8.2.562.g931e949 - diff --git a/0026-polkit-Avoid-race-condition-in-scraping-proc.patch b/0026-polkit-Avoid-race-condition-in-scraping-proc.patch index b14a9e2..97afa9a 100644 --- a/0026-polkit-Avoid-race-condition-in-scraping-proc.patch +++ b/0026-polkit-Avoid-race-condition-in-scraping-proc.patch @@ -70,6 +70,3 @@ index cea7074..1c5e9e3 100644 !dbus_message_iter_close_container(&iter_dict, &iter_variant) || !dbus_message_iter_close_container(&iter_array, &iter_dict) || !dbus_message_iter_close_container(&iter_struct, &iter_array) || --- -1.8.2.562.g931e949 - diff --git a/0027-clarify-escaping-in-Exec-lines.patch b/0027-clarify-escaping-in-Exec-lines.patch index 386bc51..52afd70 100644 --- a/0027-clarify-escaping-in-Exec-lines.patch +++ b/0027-clarify-escaping-in-Exec-lines.patch @@ -22,6 +22,3 @@ index 0454cf2..7d32e5d 100644 argument (i.e. the program to execute) may not be a variable, since it must be a literal and absolute path --- -1.8.2.562.g931e949 - diff --git a/0028-udev-builtin-blkid-export-ID_PART_TABLE_UUID.patch b/0028-udev-builtin-blkid-export-ID_PART_TABLE_UUID.patch index 77193aa..e2b8f12 100644 --- a/0028-udev-builtin-blkid-export-ID_PART_TABLE_UUID.patch +++ b/0028-udev-builtin-blkid-export-ID_PART_TABLE_UUID.patch @@ -21,6 +21,3 @@ index bae4293..b48dccc 100644 } else if (streq(name, "PART_ENTRY_NAME")) { blkid_encode_string(value, s, sizeof(s)); udev_builtin_add_property(dev, test, "ID_PART_ENTRY_NAME", s); --- -1.8.2.562.g931e949 - diff --git a/0029-nspawn-be-less-liberal-about-creating-bind-mount-des.patch b/0029-nspawn-be-less-liberal-about-creating-bind-mount-des.patch index cdbdfc3..e89a466 100644 --- a/0029-nspawn-be-less-liberal-about-creating-bind-mount-des.patch +++ b/0029-nspawn-be-less-liberal-about-creating-bind-mount-des.patch @@ -60,6 +60,3 @@ index 09153c8..33aaf14 100644 if (mount(*x, where, "bind", MS_BIND, NULL) < 0) { log_error("mount(%s) failed: %m", where); --- -1.8.2.562.g931e949 - diff --git a/0030-fix-grammatical-error.patch b/0030-fix-grammatical-error.patch index 2b8b54f..c91b0f4 100644 --- a/0030-fix-grammatical-error.patch +++ b/0030-fix-grammatical-error.patch @@ -20,6 +20,3 @@ index 33aaf14..847ad88 100644 *x, where); return -EINVAL; } --- -1.8.2.562.g931e949 - diff --git a/0031-completion-systemctl-add-missing-list-sockets-verb.patch b/0031-completion-systemctl-add-missing-list-sockets-verb.patch index d9254c6..981528b 100644 --- a/0031-completion-systemctl-add-missing-list-sockets-verb.patch +++ b/0031-completion-systemctl-add-missing-list-sockets-verb.patch @@ -36,6 +36,3 @@ index 411646e..ff15da6 100644 "list-units:List units" "start:Start (activate) one or more units" "stop:Stop (deactivate) one or more units" --- -1.8.2.562.g931e949 - diff --git a/0032-journalctl-1-s-adm-systemd-journal.patch b/0032-journalctl-1-s-adm-systemd-journal.patch index 5768bfb..d277d5f 100644 --- a/0032-journalctl-1-s-adm-systemd-journal.patch +++ b/0032-journalctl-1-s-adm-systemd-journal.patch @@ -24,6 +24,3 @@ index cc7d1a0..5bacf32 100644 group get access to the system journal and the journals of other users. --- -1.8.2.562.g931e949 - diff --git a/0033-journald-accept-EPOLLERR-from-dev-kmsg.patch b/0033-journald-accept-EPOLLERR-from-dev-kmsg.patch index 0a83792..41be6d3 100644 --- a/0033-journald-accept-EPOLLERR-from-dev-kmsg.patch +++ b/0033-journald-accept-EPOLLERR-from-dev-kmsg.patch @@ -67,6 +67,3 @@ index 5813699..6c03a0d 100644 log_error("Got invalid event from epoll."); return -EIO; } --- -1.8.2.562.g931e949 - diff --git a/0034-logind-if-a-user-is-sitting-in-front-of-the-computer.patch b/0034-logind-if-a-user-is-sitting-in-front-of-the-computer.patch index bb1b88b..1ec7d59 100644 --- a/0034-logind-if-a-user-is-sitting-in-front-of-the-computer.patch +++ b/0034-logind-if-a-user-is-sitting-in-front-of-the-computer.patch @@ -21,6 +21,3 @@ index 0c551d4..b96d32d 100644 org.freedesktop.login1.reboot --- -1.8.2.562.g931e949 - diff --git a/0035-dbus-fix-introspection-for-TimerSlackNSec.patch b/0035-dbus-fix-introspection-for-TimerSlackNSec.patch index b12c9da..a0f2815 100644 --- a/0035-dbus-fix-introspection-for-TimerSlackNSec.patch +++ b/0035-dbus-fix-introspection-for-TimerSlackNSec.patch @@ -20,6 +20,3 @@ index 91d70e5..698102f 100644 " \n" \ " \n" \ " \n" \ --- -1.8.2.562.g931e949 - diff --git a/0036-swap-properly-expose-timeout-property-on-the-bus.patch b/0036-swap-properly-expose-timeout-property-on-the-bus.patch index 769f559..7848901 100644 --- a/0036-swap-properly-expose-timeout-property-on-the-bus.patch +++ b/0036-swap-properly-expose-timeout-property-on-the-bus.patch @@ -19,6 +19,3 @@ index 2e99fba..e72749a 100644 BUS_EXEC_COMMAND_PROPERTY("ExecActivate", offsetof(Swap, exec_command[SWAP_EXEC_ACTIVATE]), false), BUS_EXEC_COMMAND_PROPERTY("ExecDeactivate", offsetof(Swap, exec_command[SWAP_EXEC_DEACTIVATE]), false), { "ControlPID", bus_property_append_pid, "u", offsetof(Swap, control_pid) }, --- -1.8.2.562.g931e949 - diff --git a/0037-Remove-duplicated-line.patch b/0037-Remove-duplicated-line.patch index 223ecb5..eb2e1dd 100644 --- a/0037-Remove-duplicated-line.patch +++ b/0037-Remove-duplicated-line.patch @@ -21,6 +21,3 @@ index 6c03a0d..8a9957c 100644 return -EIO; } --- -1.8.2.562.g931e949 - diff --git a/0038-Add-a-bit-more-explicit-message-to-help-confused-use.patch b/0038-Add-a-bit-more-explicit-message-to-help-confused-use.patch index 1dba27d..d401d1c 100644 --- a/0038-Add-a-bit-more-explicit-message-to-help-confused-use.patch +++ b/0038-Add-a-bit-more-explicit-message-to-help-confused-use.patch @@ -24,6 +24,3 @@ index ee86f2e..fcda00f 100644 -F /run/nologin 0644 - - - "System is booting up." +F /run/nologin 0644 - - - "System is booting up. See pam_nologin(8)" --- -1.8.2.562.g931e949 - diff --git a/0039-Fix-buffer-overrun-when-enumerating-files.patch b/0039-Fix-buffer-overrun-when-enumerating-files.patch index a2da543..0a1980a 100644 --- a/0039-Fix-buffer-overrun-when-enumerating-files.patch +++ b/0039-Fix-buffer-overrun-when-enumerating-files.patch @@ -138,6 +138,3 @@ index c9e9b87..eb9b0f7 100644 } char *strjoin(const char *x, ...) { --- -1.8.2.562.g931e949 - diff --git a/0040-set-IgnoreOnIsolate-true-for-systemd-cryptsetup-.ser.patch b/0040-set-IgnoreOnIsolate-true-for-systemd-cryptsetup-.ser.patch index c6ac659..22143d7 100644 --- a/0040-set-IgnoreOnIsolate-true-for-systemd-cryptsetup-.ser.patch +++ b/0040-set-IgnoreOnIsolate-true-for-systemd-cryptsetup-.ser.patch @@ -25,6 +25,3 @@ index 81b7708..edd0b40 100644 "After=systemd-readahead-collect.service systemd-readahead-replay.service\n", f); --- -1.8.2.562.g931e949 - diff --git a/0041-man-mention-the-systemd-homepage-from-systemd-1.patch b/0041-man-mention-the-systemd-homepage-from-systemd-1.patch index d4bec73..af6d0fd 100644 --- a/0041-man-mention-the-systemd-homepage-from-systemd-1.patch +++ b/0041-man-mention-the-systemd-homepage-from-systemd-1.patch @@ -19,6 +19,3 @@ index d009ed8..8b03417 100644 systemd-system.conf5, locale.conf5, systemctl1, --- -1.8.2.562.g931e949 - diff --git a/0042-main-don-t-free-fds-array-twice.patch b/0042-main-don-t-free-fds-array-twice.patch index 0e72a2c..29543be 100644 --- a/0042-main-don-t-free-fds-array-twice.patch +++ b/0042-main-don-t-free-fds-array-twice.patch @@ -19,6 +19,3 @@ index 7fc06be..954b480 100644 if (serialization) { fclose(serialization); --- -1.8.2.562.g931e949 - diff --git a/0043-smack-setup-fix-path-to-Smack-CIPSO-mappings.patch b/0043-smack-setup-fix-path-to-Smack-CIPSO-mappings.patch index f3de8a3..d36ded7 100644 --- a/0043-smack-setup-fix-path-to-Smack-CIPSO-mappings.patch +++ b/0043-smack-setup-fix-path-to-Smack-CIPSO-mappings.patch @@ -23,6 +23,3 @@ index 73eeb04..d203a30 100644 static int write_rules(const char* dstpath, const char* srcdir) { _cleanup_fclose_ FILE *dst = NULL; --- -1.8.2.562.g931e949 - diff --git a/0044-util.c-ignore-pollfd.revent-for-loop_read-loop_write.patch b/0044-util.c-ignore-pollfd.revent-for-loop_read-loop_write.patch index 7beeef1..597fae6 100644 --- a/0044-util.c-ignore-pollfd.revent-for-loop_read-loop_write.patch +++ b/0044-util.c-ignore-pollfd.revent-for-loop_read-loop_write.patch @@ -38,6 +38,3 @@ index eb9b0f7..1b35c54 100644 continue; } --- -1.8.2.562.g931e949 - diff --git a/0045-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch b/0045-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch index 016fb2c..2fbef8d 100644 --- a/0045-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch +++ b/0045-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch @@ -31,6 +31,3 @@ index 347394d..c75b745 100644 free(opt_hash); opt_hash = t; --- -1.8.2.562.g931e949 - diff --git a/0046-journald-add-missing-error-check.patch b/0046-journald-add-missing-error-check.patch index d756edd..3634301 100644 --- a/0046-journald-add-missing-error-check.patch +++ b/0046-journald-add-missing-error-check.patch @@ -20,6 +20,3 @@ index 38499a6..bb80905 100644 o->field.hash = htole64(hash); memcpy(o->field.payload, field, size); --- -1.8.2.562.g931e949 - diff --git a/0047-dbus-fix-return-value-of-dispatch_rqueue.patch b/0047-dbus-fix-return-value-of-dispatch_rqueue.patch index 52b93c0..81af5fe 100644 --- a/0047-dbus-fix-return-value-of-dispatch_rqueue.patch +++ b/0047-dbus-fix-return-value-of-dispatch_rqueue.patch @@ -25,6 +25,3 @@ index 7d6d848..b0eb2f1 100644 } int sd_bus_send(sd_bus *bus, sd_bus_message *m, uint64_t *serial) { --- -1.8.2.562.g931e949 - diff --git a/0048-modules-load-fix-error-handling.patch b/0048-modules-load-fix-error-handling.patch index a904c20..dbc0655 100644 --- a/0048-modules-load-fix-error-handling.patch +++ b/0048-modules-load-fix-error-handling.patch @@ -22,6 +22,3 @@ index 7b19ee0..49ee420 100644 } r = conf_files_list_nulstr(&files, ".conf", NULL, conf_file_dirs); --- -1.8.2.562.g931e949 - diff --git a/0049-efi-never-call-qsort-on-potentially-NULL-arrays.patch b/0049-efi-never-call-qsort-on-potentially-NULL-arrays.patch index c04e911..08106c2 100644 --- a/0049-efi-never-call-qsort-on-potentially-NULL-arrays.patch +++ b/0049-efi-never-call-qsort-on-potentially-NULL-arrays.patch @@ -21,6 +21,3 @@ index 8d004ba..99340c9 100644 *options = list; return count; --- -1.8.2.562.g931e949 - diff --git a/0050-strv-don-t-access-potentially-NULL-string-arrays.patch b/0050-strv-don-t-access-potentially-NULL-string-arrays.patch index 689e177..edc07bb 100644 --- a/0050-strv-don-t-access-potentially-NULL-string-arrays.patch +++ b/0050-strv-don-t-access-potentially-NULL-string-arrays.patch @@ -22,6 +22,3 @@ index 6a52fb9..598222c 100644 return e; } --- -1.8.2.562.g931e949 - diff --git a/0051-execute.c-always-set-SHELL.patch b/0051-execute.c-always-set-SHELL.patch index 17605d3..3dce31d 100644 --- a/0051-execute.c-always-set-SHELL.patch +++ b/0051-execute.c-always-set-SHELL.patch @@ -240,6 +240,3 @@ index 3959ef9..27f88b9 100644 final_env = strv_env_merge(5, environment, --- -1.8.2.562.g931e949 - diff --git a/0052-man-Improve-the-description-of-parameter-X-in-tmpfil.patch b/0052-man-Improve-the-description-of-parameter-X-in-tmpfil.patch index 14645a1..105564e 100644 --- a/0052-man-Improve-the-description-of-parameter-X-in-tmpfil.patch +++ b/0052-man-Improve-the-description-of-parameter-X-in-tmpfil.patch @@ -40,6 +40,3 @@ index 519f9bc..f84d174 100644 names. --- -1.8.2.562.g931e949 - diff --git a/0053-systemd-order-remote-mounts-from-mountinfo-before-re.patch b/0053-systemd-order-remote-mounts-from-mountinfo-before-re.patch index 1974951..c52f1db 100644 --- a/0053-systemd-order-remote-mounts-from-mountinfo-before-re.patch +++ b/0053-systemd-order-remote-mounts-from-mountinfo-before-re.patch @@ -36,6 +36,3 @@ index 10073b5..8777b47 100644 if (r < 0) goto fail; --- -1.8.2.562.g931e949 - diff --git a/0054-manager-when-verifying-whether-clients-may-change-en.patch b/0054-manager-when-verifying-whether-clients-may-change-en.patch index 737f832..7374ea1 100644 --- a/0054-manager-when-verifying-whether-clients-may-change-en.patch +++ b/0054-manager-when-verifying-whether-clients-may-change-en.patch @@ -40,6 +40,3 @@ index 56b02a1..2b6d799 100644 if (!dbus_message_iter_init(message, &iter)) goto oom; --- -1.8.2.562.g931e949 - diff --git a/0055-Advertise-hibernation-only-if-there-s-enough-free-sw.patch b/0055-Advertise-hibernation-only-if-there-s-enough-free-sw.patch index f2a0e98..102619b 100644 --- a/0055-Advertise-hibernation-only-if-there-s-enough-free-sw.patch +++ b/0055-Advertise-hibernation-only-if-there-s-enough-free-sw.patch @@ -205,6 +205,3 @@ index c3cb9c5..545dfab 100644 log_info("Suspend configured and possible: %s", yes_no(can_sleep("suspend") > 0)); log_info("Hibernation configured and possible: %s", yes_no(can_sleep("hibernate") > 0)); --- -1.8.2.562.g931e949 - diff --git a/0056-Assume-that-proc-meminfo-can-be-missing.patch b/0056-Assume-that-proc-meminfo-can-be-missing.patch index 78c224d..79d05bf 100644 --- a/0056-Assume-that-proc-meminfo-can-be-missing.patch +++ b/0056-Assume-that-proc-meminfo-can-be-missing.patch @@ -48,6 +48,3 @@ index 6c10d9f..a05640a 100644 puts(p); assert_se(safe_atollu(p, &total) == 0); --- -1.8.2.562.g931e949 - diff --git a/0057-Use-first-partition-in-proc-swaps-for-hibernation-te.patch b/0057-Use-first-partition-in-proc-swaps-for-hibernation-te.patch index 63da269..c4f730f 100644 --- a/0057-Use-first-partition-in-proc-swaps-for-hibernation-te.patch +++ b/0057-Use-first-partition-in-proc-swaps-for-hibernation-te.patch @@ -146,6 +146,3 @@ index 148c4dc..d068bfc 100644 return r; } --- -1.8.2.562.g931e949 - diff --git a/0058-test-fileio-assume-that-Buffers-may-be-missing.patch b/0058-test-fileio-assume-that-Buffers-may-be-missing.patch index ae85eda..42d8843 100644 --- a/0058-test-fileio-assume-that-Buffers-may-be-missing.patch +++ b/0058-test-fileio-assume-that-Buffers-may-be-missing.patch @@ -23,6 +23,3 @@ index a05640a..c589f19 100644 puts(s); assert_se(safe_atollu(s, &buffers) == 0); --- -1.8.2.562.g931e949 - diff --git a/0059-Remove-duplicate-entries-from-syscall-list.patch b/0059-Remove-duplicate-entries-from-syscall-list.patch index 2dc841e..2c00c04 100644 --- a/0059-Remove-duplicate-entries-from-syscall-list.patch +++ b/0059-Remove-duplicate-entries-from-syscall-list.patch @@ -22,6 +22,3 @@ index 3a196a6..82010a5 100644 src/core/syscall-from-name.gperf: src/core/syscall-list.txt Makefile $(AM_V_at)$(MKDIR_P) $(dir $@) --- -1.8.2.562.g931e949 - diff --git a/0060-libudev-add-missing-global-to-symbol-export.patch b/0060-libudev-add-missing-global-to-symbol-export.patch index 6a1c7ec..966fc29 100644 --- a/0060-libudev-add-missing-global-to-symbol-export.patch +++ b/0060-libudev-add-missing-global-to-symbol-export.patch @@ -18,6 +18,3 @@ index 8e09430..1e6f885 100644 +global: udev_device_set_sysattr_value; } LIBUDEV_196; --- -1.8.2.562.g931e949 - diff --git a/0061-man-fix-description-of-sysctl.d-order.patch b/0061-man-fix-description-of-sysctl.d-order.patch index 060cd57..1968410 100644 --- a/0061-man-fix-description-of-sysctl.d-order.patch +++ b/0061-man-fix-description-of-sysctl.d-order.patch @@ -23,6 +23,3 @@ index 759b874..a5868e6 100644 contain the same variable setting. If the administrator wants to disable a --- -1.8.2.562.g931e949 - diff --git a/0062-units-make-fsck-units-remain-after-exit.patch b/0062-units-make-fsck-units-remain-after-exit.patch index e2602b3..a6d8036 100644 --- a/0062-units-make-fsck-units-remain-after-exit.patch +++ b/0062-units-make-fsck-units-remain-after-exit.patch @@ -48,6 +48,3 @@ index b3c71eb..e229cdc 100644 ExecStart=@rootlibexecdir@/systemd-fsck %f StandardOutput=journal+console TimeoutSec=0 --- -1.8.2.562.g931e949 - diff --git a/0063-systemd-tmpfiles-setup-dev-remain-after-exit.patch b/0063-systemd-tmpfiles-setup-dev-remain-after-exit.patch index da413ce..cc103c8 100644 --- a/0063-systemd-tmpfiles-setup-dev-remain-after-exit.patch +++ b/0063-systemd-tmpfiles-setup-dev-remain-after-exit.patch @@ -20,6 +20,3 @@ index f029285..0a814f0 100644 Type=oneshot +RemainAfterExit=true ExecStart=@rootbindir@/systemd-tmpfiles --prefix=/dev --create --- -1.8.2.562.g931e949 - diff --git a/0064-kmod-static-nodes-remain-after-exit.patch b/0064-kmod-static-nodes-remain-after-exit.patch index 773b0bc..83ce1b6 100644 --- a/0064-kmod-static-nodes-remain-after-exit.patch +++ b/0064-kmod-static-nodes-remain-after-exit.patch @@ -20,6 +20,3 @@ index 0a814f0..764da01 100644 -RemainAfterExit=true +RemainAfterExit=yes ExecStart=@rootbindir@/systemd-tmpfiles --prefix=/dev --create --- -1.8.2.562.g931e949 - diff --git a/0065-sysctl-allow-overwriting-of-values-specified-in-late.patch b/0065-sysctl-allow-overwriting-of-values-specified-in-late.patch index 6843ca0..7f98308 100644 --- a/0065-sysctl-allow-overwriting-of-values-specified-in-late.patch +++ b/0065-sysctl-allow-overwriting-of-values-specified-in-late.patch @@ -73,6 +73,3 @@ index 45e1ceb..5baf22c 100644 ConditionDirectoryNotEmpty=|/lib/sysctl.d ConditionDirectoryNotEmpty=|/usr/lib/sysctl.d ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d --- -1.8.2.562.g931e949 - diff --git a/0066-Restore-reading-of-etc-sysctl.conf.patch b/0066-Restore-reading-of-etc-sysctl.conf.patch index 835042f..49904a5 100644 --- a/0066-Restore-reading-of-etc-sysctl.conf.patch +++ b/0066-Restore-reading-of-etc-sysctl.conf.patch @@ -33,6 +33,3 @@ index 5baf22c..45e1ceb 100644 ConditionDirectoryNotEmpty=|/lib/sysctl.d ConditionDirectoryNotEmpty=|/usr/lib/sysctl.d ConditionDirectoryNotEmpty=|/usr/local/lib/sysctl.d --- -1.8.2.562.g931e949 - diff --git a/0067-mount-when-learning-about-the-root-mount-from-mounti.patch b/0067-mount-when-learning-about-the-root-mount-from-mounti.patch index a443cea..0bc1bff 100644 --- a/0067-mount-when-learning-about-the-root-mount-from-mounti.patch +++ b/0067-mount-when-learning-about-the-root-mount-from-mounti.patch @@ -28,6 +28,3 @@ index 8777b47..605c56d 100644 unit_add_to_load_queue(u); } else { --- -1.8.3.1 - diff --git a/0068-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch b/0068-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch index b5959a7..c186ee5 100644 --- a/0068-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch +++ b/0068-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch @@ -29,6 +29,3 @@ index 605c56d..85f5000 100644 prefix, yes_no(m->from_proc_self_mountinfo), prefix, yes_no(m->from_fragment), prefix, m->directory_mode); --- -1.8.3.1 - diff --git a/0069-systemd-serialize-deserialize-forbid_restart-value.patch b/0069-systemd-serialize-deserialize-forbid_restart-value.patch index dafcbfc..6149fb8 100644 --- a/0069-systemd-serialize-deserialize-forbid_restart-value.patch +++ b/0069-systemd-serialize-deserialize-forbid_restart-value.patch @@ -46,6 +46,3 @@ index 973bd03..0c8a81b 100644 } else log_debug_unit(u->id, "Unknown serialization key '%s'", key); --- -1.8.3.1 - diff --git a/0070-core-unify-the-way-we-denote-serialization-attribute.patch b/0070-core-unify-the-way-we-denote-serialization-attribute.patch index af38dcc..eaab7c0 100644 --- a/0070-core-unify-the-way-we-denote-serialization-attribute.patch +++ b/0070-core-unify-the-way-we-denote-serialization-attribute.patch @@ -35,6 +35,3 @@ index 0c8a81b..bc00f88 100644 else s->forbid_restart = b; } else --- -1.8.3.1 - diff --git a/0071-journal-vacuum-cleanup.patch b/0071-journal-vacuum-cleanup.patch index 92f79e0..7558ebd 100644 --- a/0071-journal-vacuum-cleanup.patch +++ b/0071-journal-vacuum-cleanup.patch @@ -58,6 +58,3 @@ index 4a3a5a9..1ddb043 100644 - return r; } --- -1.8.3.1 - diff --git a/0072-journald-always-vacuum-empty-offline-files.patch b/0072-journald-always-vacuum-empty-offline-files.patch index 5ee4b3c..7af5b9b 100644 --- a/0072-journald-always-vacuum-empty-offline-files.patch +++ b/0072-journald-always-vacuum-empty-offline-files.patch @@ -63,6 +63,3 @@ index 1ddb043..79572f1 100644 patch_realtime(directory, de->d_name, &st, &realtime); GREEDY_REALLOC(list, n_allocated, n_list + 1); --- -1.8.3.1 - diff --git a/0073-journald-fix-vacuuming-of-archived-journals.patch b/0073-journald-fix-vacuuming-of-archived-journals.patch index c050c40..82714e3 100644 --- a/0073-journald-fix-vacuuming-of-archived-journals.patch +++ b/0073-journald-fix-vacuuming-of-archived-journals.patch @@ -40,6 +40,3 @@ index 79572f1..ace7722 100644 GREEDY_REALLOC(list, n_allocated, n_list + 1); --- -1.8.3.1 - diff --git a/0074-journald-fix-fd-leak-in-journal_file_empty.patch b/0074-journald-fix-fd-leak-in-journal_file_empty.patch index e5d8fde..4a54b03 100644 --- a/0074-journald-fix-fd-leak-in-journal_file_empty.patch +++ b/0074-journald-fix-fd-leak-in-journal_file_empty.patch @@ -30,6 +30,3 @@ index ace7722..178c803 100644 fd = openat(dir_fd, name, O_RDONLY|O_CLOEXEC|O_NOFOLLOW|O_NONBLOCK); if (fd < 0) --- -1.8.3.1 - diff --git a/0075-journald-be-a-bit-more-verbose-when-vacuuming.patch b/0075-journald-be-a-bit-more-verbose-when-vacuuming.patch index 02e28b9..2abd068 100644 --- a/0075-journald-be-a-bit-more-verbose-when-vacuuming.patch +++ b/0075-journald-be-a-bit-more-verbose-when-vacuuming.patch @@ -132,6 +132,3 @@ index 8a9957c..01f4678 100644 server_rotate(s); server_vacuum(s); return 1; --- -1.8.3.1 - diff --git a/0076-journald-fix-minor-memory-leak.patch b/0076-journald-fix-minor-memory-leak.patch index 73c6e7b..c088eae 100644 --- a/0076-journald-fix-minor-memory-leak.patch +++ b/0076-journald-fix-minor-memory-leak.patch @@ -20,6 +20,3 @@ index c73ad8f..8d5effb 100644 continue; } --- -1.8.3.1 - diff --git a/0077-journald-remove-rotated-file-from-hashmap-when-rotat.patch b/0077-journald-remove-rotated-file-from-hashmap-when-rotat.patch index f31a977..87dae65 100644 --- a/0077-journald-remove-rotated-file-from-hashmap-when-rotat.patch +++ b/0077-journald-remove-rotated-file-from-hashmap-when-rotat.patch @@ -34,6 +34,3 @@ index 01f4678..7a316c2 100644 else { hashmap_replace(s->user_journals, k, f); server_fix_perms(s, f, PTR_TO_UINT32(k)); --- -1.8.3.1 - diff --git a/0078-udevadm.xml-document-resolve-names-option-for-test.patch b/0078-udevadm.xml-document-resolve-names-option-for-test.patch index e50c1f8..25db3ae 100644 --- a/0078-udevadm.xml-document-resolve-names-option-for-test.patch +++ b/0078-udevadm.xml-document-resolve-names-option-for-test.patch @@ -29,6 +29,3 @@ index d0b257d..b959216 100644 --- -1.8.3.1 - diff --git a/0079-dbus-common-avoid-leak-in-error-path.patch b/0079-dbus-common-avoid-leak-in-error-path.patch index c518924..bf415bd 100644 --- a/0079-dbus-common-avoid-leak-in-error-path.patch +++ b/0079-dbus-common-avoid-leak-in-error-path.patch @@ -66,6 +66,3 @@ index b8c15cb..9ec0343 100644 return 0; } --- -1.8.3.1 - diff --git a/0080-drop-ins-check-return-value.patch b/0080-drop-ins-check-return-value.patch index 5408371..bc46466 100644 --- a/0080-drop-ins-check-return-value.patch +++ b/0080-drop-ins-check-return-value.patch @@ -27,6 +27,3 @@ index 9b36b22..e744cd3 100644 if (unlink(q) < 0) r = -errno; else --- -1.8.3.1 - diff --git a/0081-man-add-more-markup-to-udevadm-8.patch b/0081-man-add-more-markup-to-udevadm-8.patch index 7d63ef1..99d4cd7 100644 --- a/0081-man-add-more-markup-to-udevadm-8.patch +++ b/0081-man-add-more-markup-to-udevadm-8.patch @@ -92,6 +92,3 @@ index b959216..a1ffe42 100644 --- -1.8.3.1 - diff --git a/0082-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch b/0082-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch index d7d1e16..33d20c0 100644 --- a/0082-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch +++ b/0082-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch @@ -29,6 +29,3 @@ index b2afb8d..660644a 100755 ps->sample->runtime = atoll(rt); ps->sample->waittime = atoll(wt); --- -1.8.3.1 - diff --git a/0083-man-document-the-b-special-boot-option.patch b/0083-man-document-the-b-special-boot-option.patch index 9d68046..3bb3177 100644 --- a/0083-man-document-the-b-special-boot-option.patch +++ b/0083-man-document-the-b-special-boot-option.patch @@ -32,6 +32,3 @@ index 8b03417..a46f39d 100644 emergency Boot into emergency --- -1.8.3.1 - diff --git a/0084-rules-expose-loop-block-devices-to-systemd.patch b/0084-rules-expose-loop-block-devices-to-systemd.patch index 89d00df..76b0b67 100644 --- a/0084-rules-expose-loop-block-devices-to-systemd.patch +++ b/0084-rules-expose-loop-block-devices-to-systemd.patch @@ -30,6 +30,3 @@ index d17bdd9..c0e137e 100644 # Ignore raid devices that are not yet assembled and started SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0" --- -1.8.3.1 - diff --git a/0085-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch b/0085-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch index 6760f01..8c20445 100644 --- a/0085-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch +++ b/0085-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch @@ -27,6 +27,3 @@ index c0e137e..f15100f 100644 +SUBSYSTEM=="module", KERNEL=="configfs", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sys-kernel-config.mount" LABEL="systemd_end" --- -1.8.3.1 - diff --git a/0086-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch b/0086-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch index 3fc18b8..9761734 100644 --- a/0086-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch +++ b/0086-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch @@ -32,6 +32,3 @@ index f4885ec..5822171 100644 continue; } --- -1.8.3.1 - diff --git a/0087-rules-remove-pointless-MODE-settings.patch b/0087-rules-remove-pointless-MODE-settings.patch index 3899db1..f61128a 100644 --- a/0087-rules-remove-pointless-MODE-settings.patch +++ b/0087-rules-remove-pointless-MODE-settings.patch @@ -38,6 +38,3 @@ index f764789..679dfdf 100644 KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun" KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse" --- -1.8.3.1 - diff --git a/0088-shell-completion-dump-has-moved-to-systemd-analyze.patch b/0088-shell-completion-dump-has-moved-to-systemd-analyze.patch index 8f5f7c6..12d2d60 100644 --- a/0088-shell-completion-dump-has-moved-to-systemd-analyze.patch +++ b/0088-shell-completion-dump-has-moved-to-systemd-analyze.patch @@ -78,6 +78,3 @@ index ff15da6..db8ca1e 100644 # emergency exit halt kexec list-jobs list-units # list-unit-files poweroff reboot rescue show-environment' # [NAME]='snapshot load' --- -1.8.3.1 - diff --git a/0089-give-priority-to-etc-sysctl.conf.patch b/0089-give-priority-to-etc-sysctl.conf.patch index 00eb998..d6d3ee8 100644 --- a/0089-give-priority-to-etc-sysctl.conf.patch +++ b/0089-give-priority-to-etc-sysctl.conf.patch @@ -29,6 +29,3 @@ index c0cce49..783c610 100644 } k = apply_all(sysctl_options); --- -1.8.3.1 - diff --git a/0090-libudev-fix-hwdb-validation-to-look-for-the-new-file.patch b/0090-libudev-fix-hwdb-validation-to-look-for-the-new-file.patch index c59d175..45dfd27 100644 --- a/0090-libudev-fix-hwdb-validation-to-look-for-the-new-file.patch +++ b/0090-libudev-fix-hwdb-validation-to-look-for-the-new-file.patch @@ -20,6 +20,3 @@ index 42ab6d9..c2695b5 100644 return true; if (timespec_load(&hwdb->st.st_mtim) != timespec_load(&st.st_mtim)) return true; --- -1.8.3.1 - diff --git a/0091-catalog-remove-links-to-non-existent-wiki-pages.patch b/0091-catalog-remove-links-to-non-existent-wiki-pages.patch new file mode 100644 index 0000000..6e8891a --- /dev/null +++ b/0091-catalog-remove-links-to-non-existent-wiki-pages.patch @@ -0,0 +1,76 @@ +From ed2759e4f3caea9e4780573a6c6d59bcd0db5f5c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Thu, 24 Oct 2013 00:45:10 -0400 +Subject: [PATCH] catalog: remove links to non-existent wiki pages + +AFAIK, we don't have even one page with message explanations. +If/when we add them, we can add links. + +https://bugzilla.redhat.com/show_bug.cgi?id=1017161 + +Conflicts: + catalog/systemd.catalog +--- + catalog/systemd.catalog | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/catalog/systemd.catalog b/catalog/systemd.catalog +index 62635c8..8b0c9bf 100644 +--- a/catalog/systemd.catalog ++++ b/catalog/systemd.catalog +@@ -204,7 +204,6 @@ Unit @UNIT@ has begun shutting down. + Subject: Unit @UNIT@ has finished shutting down + Defined-By: systemd + Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel +-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@ + + Unit @UNIT@ has finished shutting down. + +@@ -212,7 +211,6 @@ Unit @UNIT@ has finished shutting down. + Subject: Unit @UNIT@ has failed + Defined-By: systemd + Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel +-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@ + + Unit @UNIT@ has failed. + +@@ -222,7 +220,6 @@ The result is @RESULT@. + Subject: Unit @UNIT@ has begun with reloading its configuration + Defined-By: systemd + Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel +-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@ + + Unit @UNIT@ has begun with reloading its configuration + +@@ -230,7 +227,6 @@ Unit @UNIT@ has begun with reloading its configuration + Subject: Unit @UNIT@ has finished reloading its configuration + Defined-By: systemd + Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel +-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@ + + Unit @UNIT@ has finished reloading its configuration + +@@ -240,7 +236,6 @@ The result is @RESULT@. + Subject: Process @EXECUTABLE@ could not be executed + Defined-By: systemd + Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel +-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@ + + The process @EXECUTABLE@ could not be executed and failed. + +@@ -250,7 +245,6 @@ The error number returned while executing this process is @ERRNO@. + Subject: One or more messages could not be forwarded to syslog + Defined-By: systemd + Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel +-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@ + + One or more messages could not be forwarded to the syslog service + running side-by-side with journald. This usually indicates that the +@@ -261,7 +255,6 @@ messages queued. + Subject: Mount point is not empty + Defined-By: systemd + Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel +-Documentation: http://www.freedesktop.org/wiki/Software/systemd/catalog/@MESSAGE_ID@ + + The directory @WHERE@ is specified as the mount point (second field in + /etc/fstab or Where= field in systemd unit file) and is not empty. diff --git a/0092-udev-ata_id-log-faling-ioctls-as-debug.patch b/0092-udev-ata_id-log-faling-ioctls-as-debug.patch new file mode 100644 index 0000000..eb8e114 --- /dev/null +++ b/0092-udev-ata_id-log-faling-ioctls-as-debug.patch @@ -0,0 +1,22 @@ +From 335ee33408b0a26cdc87f79c468248f5e7f82851 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Wed, 30 Oct 2013 14:34:58 +0100 +Subject: [PATCH] udev: ata_id: log faling ioctls as "debug" + +--- + src/udev/ata_id/ata_id.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/udev/ata_id/ata_id.c b/src/udev/ata_id/ata_id.c +index 68a06b9..d375d43 100644 +--- a/src/udev/ata_id/ata_id.c ++++ b/src/udev/ata_id/ata_id.c +@@ -501,7 +501,7 @@ int main(int argc, char *argv[]) + } else { + /* If this fails, then try HDIO_GET_IDENTITY */ + if (ioctl(fd, HDIO_GET_IDENTITY, &id) != 0) { +- log_info("HDIO_GET_IDENTITY failed for '%s': %m\n", node); ++ log_debug("HDIO_GET_IDENTITY failed for '%s': %m\n", node); + rc = 2; + goto close; + } diff --git a/0093-libudev-default-log_priority-to-INFO.patch b/0093-libudev-default-log_priority-to-INFO.patch new file mode 100644 index 0000000..57a3998 --- /dev/null +++ b/0093-libudev-default-log_priority-to-INFO.patch @@ -0,0 +1,23 @@ +From 7db9cd15dd8f80157880e948cbf1bc6e4d5276cf Mon Sep 17 00:00:00 2001 +From: Tom Gundersen +Date: Wed, 30 Oct 2013 15:09:01 +0100 +Subject: [PATCH] libudev: default log_priority to INFO + +This brings it in sync with the default config file. +--- + src/libudev/libudev.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libudev/libudev.c b/src/libudev/libudev.c +index 208039a..bc73a5a 100644 +--- a/src/libudev/libudev.c ++++ b/src/libudev/libudev.c +@@ -125,7 +125,7 @@ _public_ struct udev *udev_new(void) + return NULL; + udev->refcount = 1; + udev->log_fn = log_stderr; +- udev->log_priority = LOG_ERR; ++ udev->log_priority = LOG_INFO; + udev_list_init(udev, &udev->properties_list, true); + + f = fopen("/etc/udev/udev.conf", "re"); diff --git a/0094-man-explain-NAME-in-systemctl-man-page.patch b/0094-man-explain-NAME-in-systemctl-man-page.patch new file mode 100644 index 0000000..2ceb039 --- /dev/null +++ b/0094-man-explain-NAME-in-systemctl-man-page.patch @@ -0,0 +1,33 @@ +From 7f6c814a70a102ba0317e33c6a6bcc21e12a072d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=A1clav=20Pavl=C3=ADn?= +Date: Thu, 31 Oct 2013 14:36:41 +0100 +Subject: [PATCH] man: explain NAME in systemctl man page + +--- + man/systemctl.xml | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/man/systemctl.xml b/man/systemctl.xml +index 0afb0cc..a13661d 100644 +--- a/man/systemctl.xml ++++ b/man/systemctl.xml +@@ -63,6 +63,19 @@ along with systemd; If not, see . + introspect and control the state of the + systemd1 + system and service manager. ++ ++ For Unit Commands the NAME represents full name of unit. ++ ++systemctl start foo.service ++ ++ For Unit File Commands the NAME represents full name of the unit file, or absolute path to the unit file. ++ ++systemctl start /path/to/foo.service ++ ++ While working with services/service files, systemctl is able to append .service suffix when it is missing. ++ ++systemctl start foo ++ + + + diff --git a/0095-systemd-python-convert-keyword-value-to-string.patch b/0095-systemd-python-convert-keyword-value-to-string.patch new file mode 100644 index 0000000..22aacbe --- /dev/null +++ b/0095-systemd-python-convert-keyword-value-to-string.patch @@ -0,0 +1,27 @@ +From 0ea2d31ba70a325242f014c59ee39e927f5579d3 Mon Sep 17 00:00:00 2001 +From: Richard Marko +Date: Tue, 5 Nov 2013 15:41:20 +0100 +Subject: [PATCH] systemd-python: convert keyword value to string + +Allows using journal.send('msg', PRIORITY=journal.LOG_CRIT) + +Before this commit this results in +TypeError: cannot concatenate 'str' and 'int' objects +and requires passing PRIORITY value as string to work. +--- + src/python-systemd/journal.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/python-systemd/journal.py b/src/python-systemd/journal.py +index adcc844..b157533 100644 +--- a/src/python-systemd/journal.py ++++ b/src/python-systemd/journal.py +@@ -351,6 +351,8 @@ def get_catalog(mid): + def _make_line(field, value): + if isinstance(value, bytes): + return field.encode('utf-8') + b'=' + value ++ elif isinstance(value, int): ++ return field + '=' + str(value) + else: + return field + '=' + value + diff --git a/0096-systemctl-make-LOAD-column-width-dynamic.patch b/0096-systemctl-make-LOAD-column-width-dynamic.patch new file mode 100644 index 0000000..aafd108 --- /dev/null +++ b/0096-systemctl-make-LOAD-column-width-dynamic.patch @@ -0,0 +1,65 @@ +From 798a9d956830621afe429678aa1631286e13189a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Mon, 4 Nov 2013 23:01:17 +0200 +Subject: [PATCH] systemctl: make LOAD column width dynamic + +Otherwise 'not-found' overflows into the ACTIVE column. +--- + src/systemctl/systemctl.c | 19 +++++++++++-------- + 1 file changed, 11 insertions(+), 8 deletions(-) + +diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c +index 50f61a3..e5bfbca 100644 +--- a/src/systemctl/systemctl.c ++++ b/src/systemctl/systemctl.c +@@ -311,14 +311,16 @@ static bool output_show_unit(const struct unit_info *u) { + } + + static void output_units_list(const struct unit_info *unit_infos, unsigned c) { +- unsigned id_len, max_id_len, active_len, sub_len, job_len, desc_len, n_shown = 0; ++ unsigned id_len, max_id_len, load_len, active_len, sub_len, job_len, desc_len; ++ unsigned n_shown = 0; + const struct unit_info *u; + int job_count = 0; + +- max_id_len = sizeof("UNIT")-1; +- active_len = sizeof("ACTIVE")-1; +- sub_len = sizeof("SUB")-1; +- job_len = sizeof("JOB")-1; ++ max_id_len = strlen("UNIT"); ++ load_len = strlen("LOAD"); ++ active_len = strlen("ACTIVE"); ++ sub_len = strlen("SUB"); ++ job_len = strlen("JOB"); + desc_len = 0; + + for (u = unit_infos; u < unit_infos + c; u++) { +@@ -326,6 +328,7 @@ static void output_units_list(const struct unit_info *unit_infos, unsigned c) { + continue; + + max_id_len = MAX(max_id_len, strlen(u->id)); ++ load_len = MAX(load_len, strlen(u->load_state)); + active_len = MAX(active_len, strlen(u->active_state)); + sub_len = MAX(sub_len, strlen(u->sub_state)); + if (u->job_id != 0) { +@@ -368,7 +371,7 @@ static void output_units_list(const struct unit_info *unit_infos, unsigned c) { + continue; + + if (!n_shown && !arg_no_legend) { +- printf("%-*s %-6s %-*s %-*s ", id_len, "UNIT", "LOAD", ++ printf("%-*s %-*s %-*s %-*s ", id_len, "UNIT", load_len, "LOAD", + active_len, "ACTIVE", sub_len, "SUB"); + if (job_count) + printf("%-*s ", job_len, "JOB"); +@@ -394,9 +397,9 @@ static void output_units_list(const struct unit_info *unit_infos, unsigned c) { + + e = arg_full ? NULL : ellipsize(u->id, id_len, 33); + +- printf("%s%-*s%s %s%-6s%s %s%-*s %-*s%s %-*s", ++ printf("%s%-*s%s %s%-*s%s %s%-*s %-*s%s %-*s", + on, id_len, e ? e : u->id, off, +- on_loaded, u->load_state, off_loaded, ++ on_loaded, load_len, u->load_state, off_loaded, + on_active, active_len, u->active_state, + sub_len, u->sub_state, off_active, + job_count ? job_len + 1 : 0, u->job_id ? u->job_type : ""); diff --git a/0097-Make-hibernation-test-work-for-swap-files.patch b/0097-Make-hibernation-test-work-for-swap-files.patch new file mode 100644 index 0000000..9206f2c --- /dev/null +++ b/0097-Make-hibernation-test-work-for-swap-files.patch @@ -0,0 +1,25 @@ +From a5d9ab7ba1e392e1e7173b6c57ed6dbb10558b85 Mon Sep 17 00:00:00 2001 +From: Jan Janssen +Date: Thu, 31 Oct 2013 17:22:03 +0100 +Subject: [PATCH] Make hibernation test work for swap files + +Suspend to disk works for swap files too (even if it is located +on an ecrypted file system): +https://www.kernel.org/doc/Documentation/power/swsusp-and-swap-files.txt +--- + src/shared/sleep-config.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/sleep-config.c b/src/shared/sleep-config.c +index d068bfc..2bb0493 100644 +--- a/src/shared/sleep-config.c ++++ b/src/shared/sleep-config.c +@@ -206,7 +206,7 @@ static int hibernation_partition_size(size_t *size, size_t *used) { + if (!d) + return -ENOMEM; + +- if (!streq(type, "partition")) { ++ if (!streq(type, "partition") && !streq(type, "file")) { + log_debug("Partition %s has type %s, ignoring.", d, type); + continue; + } diff --git a/0098-systemctl-return-r-instead-of-always-returning-0.patch b/0098-systemctl-return-r-instead-of-always-returning-0.patch new file mode 100644 index 0000000..6f19275 --- /dev/null +++ b/0098-systemctl-return-r-instead-of-always-returning-0.patch @@ -0,0 +1,22 @@ +From 16ba284432f0b24feb4cd28d63c0626bb4e80acd Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Wed, 6 Nov 2013 11:18:02 +0100 +Subject: [PATCH] systemctl: return r instead of always returning 0 + +--- + src/systemctl/systemctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c +index e5bfbca..8fae09e 100644 +--- a/src/systemctl/systemctl.c ++++ b/src/systemctl/systemctl.c +@@ -1329,7 +1329,7 @@ static int list_jobs(DBusConnection *bus, char **args) { + } + free(jobs); + +- return 0; ++ return r; + } + + static int load_unit(DBusConnection *bus, char **args) { diff --git a/0099-button-don-t-exit-if-we-cannot-handle-a-button-press.patch b/0099-button-don-t-exit-if-we-cannot-handle-a-button-press.patch new file mode 100644 index 0000000..2190fe7 --- /dev/null +++ b/0099-button-don-t-exit-if-we-cannot-handle-a-button-press.patch @@ -0,0 +1,22 @@ +From 4215779638bb241184f94dd5dfd41fdc68c6d5b7 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Sun, 10 Nov 2013 23:05:08 +0100 +Subject: [PATCH] button: don't exit if we cannot handle a button press + +--- + src/login/logind-button.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/login/logind-button.c b/src/login/logind-button.c +index ea45c28..4f456d2 100644 +--- a/src/login/logind-button.c ++++ b/src/login/logind-button.c +@@ -172,7 +172,7 @@ static int button_handle( + * execute another one until the lid is opened/closed again */ + b->lid_close_queued = false; + +- return r; ++ return 0; + } + + int button_process(Button *b) { diff --git a/0100-timer-properly-format-relative-timestamps-in-the-fut.patch b/0100-timer-properly-format-relative-timestamps-in-the-fut.patch new file mode 100644 index 0000000..782f9f5 --- /dev/null +++ b/0100-timer-properly-format-relative-timestamps-in-the-fut.patch @@ -0,0 +1,120 @@ +From 3f870c6a21eddd5879943741dcb0dc72d85b1748 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 11 Nov 2013 03:02:52 +0100 +Subject: [PATCH] timer: properly format relative timestamps in the future + +--- + src/shared/time-util.c | 69 ++++++++++++++++++++++++++++++++------------------ + 1 file changed, 44 insertions(+), 25 deletions(-) + +diff --git a/src/shared/time-util.c b/src/shared/time-util.c +index 9ee711a..3441c81 100644 +--- a/src/shared/time-util.c ++++ b/src/shared/time-util.c +@@ -169,55 +169,62 @@ char *format_timestamp(char *buf, size_t l, usec_t t) { + } + + char *format_timestamp_relative(char *buf, size_t l, usec_t t) { ++ const char *s; + usec_t n, d; + + n = now(CLOCK_REALTIME); + +- if (t <= 0 || t > n || t + USEC_PER_DAY*7 <= t) ++ if (t <= 0 || (t == (usec_t) -1)) + return NULL; + +- d = n - t; ++ if (n > t) { ++ d = n - t; ++ s = "ago"; ++ } else { ++ d = t - n; ++ s = "left"; ++ } + + if (d >= USEC_PER_YEAR) +- snprintf(buf, l, "%llu years %llu months ago", ++ snprintf(buf, l, "%llu years %llu months %s", + (unsigned long long) (d / USEC_PER_YEAR), +- (unsigned long long) ((d % USEC_PER_YEAR) / USEC_PER_MONTH)); ++ (unsigned long long) ((d % USEC_PER_YEAR) / USEC_PER_MONTH), s); + else if (d >= USEC_PER_MONTH) +- snprintf(buf, l, "%llu months %llu days ago", ++ snprintf(buf, l, "%llu months %llu days %s", + (unsigned long long) (d / USEC_PER_MONTH), +- (unsigned long long) ((d % USEC_PER_MONTH) / USEC_PER_DAY)); ++ (unsigned long long) ((d % USEC_PER_MONTH) / USEC_PER_DAY), s); + else if (d >= USEC_PER_WEEK) +- snprintf(buf, l, "%llu weeks %llu days ago", ++ snprintf(buf, l, "%llu weeks %llu days %s", + (unsigned long long) (d / USEC_PER_WEEK), +- (unsigned long long) ((d % USEC_PER_WEEK) / USEC_PER_DAY)); ++ (unsigned long long) ((d % USEC_PER_WEEK) / USEC_PER_DAY), s); + else if (d >= 2*USEC_PER_DAY) +- snprintf(buf, l, "%llu days ago", (unsigned long long) (d / USEC_PER_DAY)); ++ snprintf(buf, l, "%llu days %s", (unsigned long long) (d / USEC_PER_DAY), s); + else if (d >= 25*USEC_PER_HOUR) +- snprintf(buf, l, "1 day %lluh ago", +- (unsigned long long) ((d - USEC_PER_DAY) / USEC_PER_HOUR)); ++ snprintf(buf, l, "1 day %lluh %s", ++ (unsigned long long) ((d - USEC_PER_DAY) / USEC_PER_HOUR), s); + else if (d >= 6*USEC_PER_HOUR) +- snprintf(buf, l, "%lluh ago", +- (unsigned long long) (d / USEC_PER_HOUR)); ++ snprintf(buf, l, "%lluh %s", ++ (unsigned long long) (d / USEC_PER_HOUR), s); + else if (d >= USEC_PER_HOUR) +- snprintf(buf, l, "%lluh %llumin ago", ++ snprintf(buf, l, "%lluh %llumin %s", + (unsigned long long) (d / USEC_PER_HOUR), +- (unsigned long long) ((d % USEC_PER_HOUR) / USEC_PER_MINUTE)); ++ (unsigned long long) ((d % USEC_PER_HOUR) / USEC_PER_MINUTE), s); + else if (d >= 5*USEC_PER_MINUTE) +- snprintf(buf, l, "%llumin ago", +- (unsigned long long) (d / USEC_PER_MINUTE)); ++ snprintf(buf, l, "%llumin %s", ++ (unsigned long long) (d / USEC_PER_MINUTE), s); + else if (d >= USEC_PER_MINUTE) +- snprintf(buf, l, "%llumin %llus ago", ++ snprintf(buf, l, "%llumin %llus %s", + (unsigned long long) (d / USEC_PER_MINUTE), +- (unsigned long long) ((d % USEC_PER_MINUTE) / USEC_PER_SEC)); ++ (unsigned long long) ((d % USEC_PER_MINUTE) / USEC_PER_SEC), s); + else if (d >= USEC_PER_SEC) +- snprintf(buf, l, "%llus ago", +- (unsigned long long) (d / USEC_PER_SEC)); ++ snprintf(buf, l, "%llus %s", ++ (unsigned long long) (d / USEC_PER_SEC), s); + else if (d >= USEC_PER_MSEC) +- snprintf(buf, l, "%llums ago", +- (unsigned long long) (d / USEC_PER_MSEC)); ++ snprintf(buf, l, "%llums %s", ++ (unsigned long long) (d / USEC_PER_MSEC), s); + else if (d > 0) +- snprintf(buf, l, "%lluus ago", +- (unsigned long long) d); ++ snprintf(buf, l, "%lluus %s", ++ (unsigned long long) d, s); + else + snprintf(buf, l, "now"); + +@@ -457,6 +464,18 @@ int parse_timestamp(const char *t, usec_t *usec) { + return r; + + goto finish; ++ } else if (endswith(t, " left")) { ++ _cleanup_free_ char *z; ++ ++ z = strndup(t, strlen(t) - 4); ++ if (!z) ++ return -ENOMEM; ++ ++ r = parse_sec(z, &plus); ++ if (r < 0) ++ return r; ++ ++ goto finish; + } + + for (i = 0; i < ELEMENTSOF(day_nr); i++) { diff --git a/0101-activate-mention-E-in-the-help-text.patch b/0101-activate-mention-E-in-the-help-text.patch new file mode 100644 index 0000000..20b4800 --- /dev/null +++ b/0101-activate-mention-E-in-the-help-text.patch @@ -0,0 +1,22 @@ +From b3b1073e2b00e37760d897ce8e18293ca788bdef Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Wed, 13 Nov 2013 13:36:17 +0200 +Subject: [PATCH] activate: mention -E in the help text + +--- + src/activate/activate.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/activate/activate.c b/src/activate/activate.c +index 87526d4..a24c66a 100644 +--- a/src/activate/activate.c ++++ b/src/activate/activate.c +@@ -317,6 +317,8 @@ static int help(void) { + " -l --listen=ADDR Listen for raw connections at ADDR\n" + " -a --accept Spawn separate child for each connection\n" + " -h --help Show this help and exit\n" ++ " -E --environment=NAME[=VALUE]\n" ++ " Pass an environment variable to children\n" + " --version Print version string and exit\n" + "\n" + "Note: file descriptors from sd_listen_fds() will be passed through.\n" diff --git a/0102-activate-fix-crash-when-s-is-passed.patch b/0102-activate-fix-crash-when-s-is-passed.patch new file mode 100644 index 0000000..f33cb77 --- /dev/null +++ b/0102-activate-fix-crash-when-s-is-passed.patch @@ -0,0 +1,23 @@ +From 3a1149687f87d649102d7bd9219fc9acfb3418e6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Mantas=20Mikul=C4=97nas?= +Date: Wed, 13 Nov 2013 13:36:16 +0200 +Subject: [PATCH] activate: fix crash when -s is passed + +getopt_long() was told to accept -s which was never implemented. +--- + src/activate/activate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/activate/activate.c b/src/activate/activate.c +index a24c66a..da93dbf 100644 +--- a/src/activate/activate.c ++++ b/src/activate/activate.c +@@ -347,7 +347,7 @@ static int parse_argv(int argc, char *argv[]) { + assert(argc >= 0); + assert(argv); + +- while ((c = getopt_long(argc, argv, "+hl:saE:", options, NULL)) >= 0) ++ while ((c = getopt_long(argc, argv, "+hl:aE:", options, NULL)) >= 0) + switch(c) { + case 'h': + help(); diff --git a/0103-journal-timestamp-support-on-console-messages.patch b/0103-journal-timestamp-support-on-console-messages.patch new file mode 100644 index 0000000..c5be767 --- /dev/null +++ b/0103-journal-timestamp-support-on-console-messages.patch @@ -0,0 +1,85 @@ +From 1e74ecdeda7e1b01886f66c02571ce5c1eec84e3 Mon Sep 17 00:00:00 2001 +From: Umut Tezduyar Lindskog +Date: Wed, 13 Nov 2013 15:27:19 +0100 +Subject: [PATCH] journal: timestamp support on console messages + +journald mimics the kernel here: timestamps will be printed if +/sys/module/printk/parameters/time contains "Y". +--- + src/journal/journald-console.c | 34 +++++++++++++++++++++++++++++++--- + 1 file changed, 31 insertions(+), 3 deletions(-) + +diff --git a/src/journal/journald-console.c b/src/journal/journald-console.c +index be55f94..1ee3afe 100644 +--- a/src/journal/journald-console.c ++++ b/src/journal/journald-console.c +@@ -19,13 +19,30 @@ + along with systemd; If not, see . + ***/ + ++#include + #include + #include + #include + ++#include "fileio.h" + #include "journald-server.h" + #include "journald-console.h" + ++static bool prefix_timestamp(void) { ++ ++ static int cached_printk_time = -1; ++ ++ if (_unlikely_(cached_printk_time < 0)) { ++ _cleanup_free_ char *p = NULL; ++ ++ cached_printk_time = ++ read_one_line_file("/sys/module/printk/parameters/time", &p) >= 0 ++ && parse_boolean(p) > 0; ++ } ++ ++ return cached_printk_time; ++} ++ + void server_forward_console( + Server *s, + int priority, +@@ -33,8 +50,10 @@ void server_forward_console( + const char *message, + struct ucred *ucred) { + +- struct iovec iovec[4]; ++ struct iovec iovec[5]; + char header_pid[16]; ++ struct timespec ts; ++ char tbuf[4 + DECIMAL_STR_MAX(ts.tv_sec) + DECIMAL_STR_MAX(ts.tv_nsec)-3 + 1]; + int n = 0, fd; + char *ident_buf = NULL; + const char *tty; +@@ -45,7 +64,16 @@ void server_forward_console( + if (LOG_PRI(priority) > s->max_level_console) + return; + +- /* First: identifier and PID */ ++ /* First: timestamp */ ++ if (prefix_timestamp()) { ++ assert_se(clock_gettime(CLOCK_MONOTONIC, &ts) == 0); ++ snprintf(tbuf, sizeof(tbuf), "[%5llu.%06llu] ", ++ (unsigned long long) ts.tv_sec, ++ (unsigned long long) ts.tv_nsec / 1000); ++ IOVEC_SET_STRING(iovec[n++], tbuf); ++ } ++ ++ /* Second: identifier and PID */ + if (ucred) { + if (!identifier) { + get_process_comm(ucred->pid, &ident_buf); +@@ -64,7 +92,7 @@ void server_forward_console( + IOVEC_SET_STRING(iovec[n++], ": "); + } + +- /* Third: message */ ++ /* Fourth: message */ + IOVEC_SET_STRING(iovec[n++], message); + IOVEC_SET_STRING(iovec[n++], "\n"); + diff --git a/0104-Resolve-dev-console-to-the-active-tty-instead-of-jus.patch b/0104-Resolve-dev-console-to-the-active-tty-instead-of-jus.patch new file mode 100644 index 0000000..c63b19f --- /dev/null +++ b/0104-Resolve-dev-console-to-the-active-tty-instead-of-jus.patch @@ -0,0 +1,33 @@ +From 5c294f2b21a891958ef232f4528fa35bb6c96ac7 Mon Sep 17 00:00:00 2001 +From: Olivier Brunel +Date: Fri, 20 Sep 2013 22:18:28 +0200 +Subject: [PATCH] Resolve /dev/console to the active tty instead of just "tty0" + +When resolving /dev/console one would often get "tty0" meaning the active VT. +Resolving to the actual tty (e.g. "tty1") will notably help on boot when +determining whether or not PID1 can output to the console. +--- + src/shared/util.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/shared/util.c b/src/shared/util.c +index 1b35c54..e3d4a94 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -3600,6 +3600,16 @@ char *resolve_dev_console(char **active) { + else + tty = *active; + ++ if (streq(tty, "tty0")) { ++ char *tmp; ++ ++ /* Get the active VC (e.g. tty1) */ ++ if (read_one_line_file("/sys/class/tty/tty0/active", &tmp) >= 0) { ++ free(*active); ++ tty = *active = tmp; ++ } ++ } ++ + return tty; + } + diff --git a/0105-manager-don-t-do-plymouth-in-a-container.patch b/0105-manager-don-t-do-plymouth-in-a-container.patch new file mode 100644 index 0000000..244c672 --- /dev/null +++ b/0105-manager-don-t-do-plymouth-in-a-container.patch @@ -0,0 +1,26 @@ +From b48d4e5832f3c17b8aeb6af486ee3ea0f1c70376 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 20 Nov 2013 03:44:11 +0100 +Subject: [PATCH] manager: don't do plymouth in a container + +Given that plymouth listens on an abstract namespace socket and if +CLONE_NEWNET is not used the abstract namespace is shared with the host +we might actually end up send plymouth data to the host. +--- + src/core/manager.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/core/manager.c b/src/core/manager.c +index c7f8f20..481ec30 100644 +--- a/src/core/manager.c ++++ b/src/core/manager.c +@@ -1868,6 +1868,9 @@ void manager_send_unit_plymouth(Manager *m, Unit *u) { + if (m->running_as != SYSTEMD_SYSTEM) + return; + ++ if (detect_container(NULL) > 0) ++ return; ++ + if (u->type != UNIT_SERVICE && + u->type != UNIT_MOUNT && + u->type != UNIT_SWAP) diff --git a/0106-valgrind-make-running-PID-1-in-valgrind-useful.patch b/0106-valgrind-make-running-PID-1-in-valgrind-useful.patch new file mode 100644 index 0000000..ea72fc2 --- /dev/null +++ b/0106-valgrind-make-running-PID-1-in-valgrind-useful.patch @@ -0,0 +1,59 @@ +From b07c5b16a5deeb85b7fc434e1f3043c76d81bfc2 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 20 Nov 2013 22:11:10 +0100 +Subject: [PATCH] valgrind: make running PID 1 in valgrind useful + +Since valgrind only generates useful output on exit() (rather than +exec()) we need to explicitly exit when valgrind is detected. + +Conflicts: + src/core/main.c +--- + configure.ac | 2 +- + src/core/main.c | 13 +++++++++++++ + 2 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index a918252..66d2407 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -704,7 +704,7 @@ AC_DEFINE_UNQUOTED(TELINIT, ["$TELINIT"], [Path to telinit]) + + AC_SUBST(TELINIT) + +-AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h]) ++AC_CHECK_HEADERS_ONCE([valgrind/memcheck.h valgrind/valgrind.h]) + + # ------------------------------------------------------------------------------ + have_myhostname=no +diff --git a/src/core/main.c b/src/core/main.c +index 954b480..80d0668 100644 +--- a/src/core/main.c ++++ b/src/core/main.c +@@ -34,6 +34,10 @@ + #include + #include + ++#ifdef HAVE_VALGRIND_VALGRIND_H ++#include ++#endif ++ + #include "manager.h" + #include "log.h" + #include "load-fragment.h" +@@ -1920,6 +1924,15 @@ finish: + if (fds) + fdset_free(fds); + ++#ifdef HAVE_VALGRIND_VALGRIND_H ++ /* If we are PID 1 and running under valgrind, then let's exit ++ * here explicitly. valgrind will only generate nice output on ++ * exit(), not on exec(), hence let's do the former not the ++ * latter here. */ ++ if (getpid() == 1 && RUNNING_ON_VALGRIND) ++ return 0; ++#endif ++ + if (shutdown_verb) { + const char * command_line[] = { + SYSTEMD_SHUTDOWN_BINARY_PATH, diff --git a/0107-automount-log-info-about-triggering-process.patch b/0107-automount-log-info-about-triggering-process.patch new file mode 100644 index 0000000..8581486 --- /dev/null +++ b/0107-automount-log-info-about-triggering-process.patch @@ -0,0 +1,26 @@ +From 3ed443abd12226292e7cf3dba3fef79c75d9d6e3 Mon Sep 17 00:00:00 2001 +From: Kay Sievers +Date: Thu, 28 Nov 2013 01:25:10 +0100 +Subject: [PATCH] automount: log info about triggering process + +Conflicts: + src/core/automount.c +--- + src/core/automount.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/core/automount.c b/src/core/automount.c +index a20d534..c892519 100644 +--- a/src/core/automount.c ++++ b/src/core/automount.c +@@ -801,8 +801,8 @@ static void automount_fd_event(Unit *u, int fd, uint32_t events, Watch *w) { + _cleanup_free_ char *p = NULL; + + get_process_comm(packet.v5_packet.pid, &p); +- log_debug_unit(u->id, +- "Got direct mount request on %s, triggered by %lu (%s)", ++ log_info_unit(u->id, ++ "Got automount request for %s, triggered by %lu (%s)", + a->where, (unsigned long) packet.v5_packet.pid, strna(p)); + } else + log_debug_unit(u->id, "Got direct mount request on %s", a->where); diff --git a/0108-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch b/0108-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch new file mode 100644 index 0000000..eb8544c --- /dev/null +++ b/0108-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch @@ -0,0 +1,28 @@ +From e068005b8fddf77eca9145cdf405d788d808a760 Mon Sep 17 00:00:00 2001 +From: Thomas Hindoe Paaboel Andersen +Date: Sat, 30 Nov 2013 23:45:31 +0100 +Subject: [PATCH] util.c: check if return value from ttyname_r is > 0 instead + of != 0 + +We must return a negative error code from getttyname_malloc but +that would not be the case if ttyname_r returned a negative value. + +ttyname_r should only return EBADF, ENOTTY, or ERANGE so it should +be safe to change. +--- + src/shared/util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/shared/util.c b/src/shared/util.c +index e3d4a94..1526b92 100644 +--- a/src/shared/util.c ++++ b/src/shared/util.c +@@ -2539,7 +2539,7 @@ int getttyname_malloc(int fd, char **r) { + assert(r); + + k = ttyname_r(fd, path, sizeof(path)); +- if (k != 0) ++ if (k > 0) + return -k; + + char_array_0(path); diff --git a/0109-docs-remove-unneeded-the-s-in-gudev-docs.patch b/0109-docs-remove-unneeded-the-s-in-gudev-docs.patch new file mode 100644 index 0000000..5846b84 --- /dev/null +++ b/0109-docs-remove-unneeded-the-s-in-gudev-docs.patch @@ -0,0 +1,38 @@ +From 4194ac9b57c891cfe34ff6c1d9342593d6fa4faf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Sat, 30 Nov 2013 20:27:54 -0500 +Subject: [PATCH] docs: remove unneeded the's in gudev docs + +https://bugs.freedesktop.org/show_bug.cgi?id=72164 +--- + src/libudev/libudev-device.c | 10 ++++------ + 1 file changed, 4 insertions(+), 6 deletions(-) + +diff --git a/src/libudev/libudev-device.c b/src/libudev/libudev-device.c +index 6bb2e41..7ac464b 100644 +--- a/src/libudev/libudev-device.c ++++ b/src/libudev/libudev-device.c +@@ -980,9 +980,8 @@ static struct udev_device *device_new_from_parent(struct udev_device *udev_devic + * Find the next parent device, and fill in information from the sys + * device and the udev database entry. + * +- * The returned the device is not referenced. It is attached to the +- * child device, and will be cleaned up when the child device +- * is cleaned up. ++ * Returned device is not referenced. It is attached to the child ++ * device, and will be cleaned up when the child device is cleaned up. + * + * It is not necessarily just the upper level directory, empty or not + * recognized sys directories are ignored. +@@ -1016,9 +1015,8 @@ _public_ struct udev_device *udev_device_get_parent(struct udev_device *udev_dev + * If devtype is #NULL, only subsystem is checked, and any devtype will + * match. + * +- * The returned the device is not referenced. It is attached to the +- * child device, and will be cleaned up when the child device +- * is cleaned up. ++ * Returned device is not referenced. It is attached to the child ++ * device, and will be cleaned up when the child device is cleaned up. + * + * It can be called as many times as needed, without caring about + * references. diff --git a/0110-systemd-treat-reload-failure-as-failure.patch b/0110-systemd-treat-reload-failure-as-failure.patch new file mode 100644 index 0000000..a92853d --- /dev/null +++ b/0110-systemd-treat-reload-failure-as-failure.patch @@ -0,0 +1,90 @@ +From fd3b3868816e7b2bd78d4a908c36e1d285fb72e3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 2 Dec 2013 21:52:51 -0500 +Subject: [PATCH] systemd: treat reload failure as failure + +systemctl reload "suceeded" on stopped units, but it is documented +to fail in this case. + +https://bugzilla.redhat.com/show_bug.cgi?id=1036845 +--- + src/core/job.c | 11 +++++++---- + src/core/job.h | 3 ++- + src/core/unit.c | 5 ++++- + 3 files changed, 13 insertions(+), 6 deletions(-) + +diff --git a/src/core/job.c b/src/core/job.c +index d304a16..74ced49 100644 +--- a/src/core/job.c ++++ b/src/core/job.c +@@ -528,7 +528,7 @@ int job_run_and_invalidate(Job *j) { + else if (t == UNIT_ACTIVATING) + r = -EAGAIN; + else +- r = -ENOEXEC; ++ r = -EBADR; + break; + } + +@@ -557,8 +557,10 @@ int job_run_and_invalidate(Job *j) { + if (j) { + if (r == -EALREADY) + r = job_finish_and_invalidate(j, JOB_DONE, true); +- else if (r == -ENOEXEC) ++ else if (r == -EBADR) + r = job_finish_and_invalidate(j, JOB_SKIPPED, true); ++ else if (r == -ENOEXEC) ++ r = job_finish_and_invalidate(j, JOB_INVALID, true); + else if (r == -EAGAIN) { + j->state = JOB_WAITING; + m->n_running_jobs--; +@@ -784,7 +786,7 @@ int job_finish_and_invalidate(Job *j, JobResult result, bool recursive) { + goto finish; + } + +- if (result == JOB_FAILED) ++ if (result == JOB_FAILED || result == JOB_INVALID) + j->manager->n_failed_jobs ++; + + job_uninstall(j); +@@ -1137,7 +1139,8 @@ static const char* const job_result_table[_JOB_RESULT_MAX] = { + [JOB_TIMEOUT] = "timeout", + [JOB_FAILED] = "failed", + [JOB_DEPENDENCY] = "dependency", +- [JOB_SKIPPED] = "skipped" ++ [JOB_SKIPPED] = "skipped", ++ [JOB_INVALID] = "invalid", + }; + + DEFINE_STRING_TABLE_LOOKUP(job_result, JobResult); +diff --git a/src/core/job.h b/src/core/job.h +index d90bc96..4237529 100644 +--- a/src/core/job.h ++++ b/src/core/job.h +@@ -97,7 +97,8 @@ enum JobResult { + JOB_TIMEOUT, /* JobTimeout elapsed */ + JOB_FAILED, /* Job failed */ + JOB_DEPENDENCY, /* A required dependency job did not result in JOB_DONE */ +- JOB_SKIPPED, /* JOB_RELOAD of inactive unit; negative result of JOB_VERIFY_ACTIVE */ ++ JOB_SKIPPED, /* Negative result of JOB_VERIFY_ACTIVE */ ++ JOB_INVALID, /* JOB_RELOAD of inactive unit */ + _JOB_RESULT_MAX, + _JOB_RESULT_INVALID = -1 + }; +diff --git a/src/core/unit.c b/src/core/unit.c +index e744cd3..cdeceae 100644 +--- a/src/core/unit.c ++++ b/src/core/unit.c +@@ -1163,8 +1163,11 @@ int unit_reload(Unit *u) { + if (state == UNIT_RELOADING) + return -EALREADY; + +- if (state != UNIT_ACTIVE) ++ if (state != UNIT_ACTIVE) { ++ log_warning_unit(u->id, "Unit %s cannot be reloaded because it is inactive.", ++ u->id); + return -ENOEXEC; ++ } + + if ((following = unit_following(u))) { + log_debug_unit(u->id, "Redirecting reload request from %s to %s.", diff --git a/0111-journal-fail-silently-in-sd_j_sendv-if-journal-is-un.patch b/0111-journal-fail-silently-in-sd_j_sendv-if-journal-is-un.patch new file mode 100644 index 0000000..c89fdd6 --- /dev/null +++ b/0111-journal-fail-silently-in-sd_j_sendv-if-journal-is-un.patch @@ -0,0 +1,34 @@ +From 9a184bf7fc9d24786ec2715c8897cb52e00086ad Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Tue, 3 Dec 2013 08:07:32 -0500 +Subject: [PATCH] journal: fail silently in sd_j_sendv() if journal is + unavailable + +"syslog(3) and sd_journal_print() may largely be used interchangeably +functionality-wise" according to sd_journal_print(3). This socket +should be always available except in rare circumstatances, and we +don't random applications to fail on logging, so let's do what syslog +did. The alternative of forcing all callers to do error handling for +this rare case doesn't really have any benefits, since if they can't +log there isn't much they can do anyway. + +https://bugzilla.redhat.com/show_bug.cgi?id=1023041 +--- + src/journal/journal-send.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c +index 14c437d..72dbd29 100644 +--- a/src/journal/journal-send.c ++++ b/src/journal/journal-send.c +@@ -306,6 +306,10 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) { + if (k >= 0) + return 0; + ++ /* Fail silently if the journal is not available */ ++ if (errno == ENOENT) ++ return 0; ++ + if (errno != EMSGSIZE && errno != ENOBUFS) + return -errno; + diff --git a/0112-journal-handle-multiline-syslog-messages.patch b/0112-journal-handle-multiline-syslog-messages.patch new file mode 100644 index 0000000..058e320 --- /dev/null +++ b/0112-journal-handle-multiline-syslog-messages.patch @@ -0,0 +1,76 @@ +From 8494c349d14590a57312ce660e4ee2e0a42a87b9 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Thu, 1 Aug 2013 12:14:02 +0200 +Subject: [PATCH] journal: handle multiline syslog messages +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Since the journal can handle multiple lines just well natively, +and rsyslog can be configured to handle them as well, there is no need +to truncate messages from syslog() after the first newline. + +Reproducer: + +1. Add following four lines to /etc/rsyslog.conf + + ---------- + $EscapeControlCharactersOnReceive off + $ActionFileDefaultTemplate RSYSLOG_SysklogdFileFormat + $SpaceLFOnReceive on + $DropTrailingLFOnReception off + ---------- + +3. Restart rsyslog + # service rsyslog restart + +4. Compile and run the following program + + ---------- + #include + #include + + int main() + { + syslog(LOG_INFO, "aaa%caaa", '\n'); + return 0; + } + ---------- + +Actual results: +Below message appears in /var/log/messages. + + ---------- +   Sep 7 19:19:39 localhost test2: aaa + ---------- + +Expected results: +Below message, which worked prior to systemd-journald +appears in /var/log/messages. + + ---------- +   Sep 7 19:19:39 localhost test2: aaa aaa + +https://bugzilla.redhat.com/show_bug.cgi?id=855313 +--- + src/journal/journald-server.c | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c +index 7a316c2..de8ac68 100644 +--- a/src/journal/journald-server.c ++++ b/src/journal/journald-server.c +@@ -1155,12 +1155,7 @@ int process_event(Server *s, struct epoll_event *ev) { + char *e; + + if (n > 0 && n_fds == 0) { +- e = memchr(s->buffer, '\n', n); +- if (e) +- *e = 0; +- else +- s->buffer[n] = 0; +- ++ s->buffer[n] = 0; + server_process_syslog_message(s, strstrip(s->buffer), ucred, tv, label, label_len); + } else if (n_fds > 0) + log_warning("Got file descriptors via syslog socket. Ignoring."); diff --git a/0113-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch b/0113-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch new file mode 100644 index 0000000..b253b77 --- /dev/null +++ b/0113-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch @@ -0,0 +1,33 @@ +From 80e49428922df25a33a8d42dcc53e79a41e1553b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 3 Jun 2013 13:55:13 -0400 +Subject: [PATCH] systemctl,core: allow nuking of symlinks to removed units + +Before, one the unit file was deleted, install_context_for_removal() +would refuse to look for symlinks. But we can remove dangling symlinks +anyway. + +In principle, package installation/deinstallation scripts should do +that before the unit is uninstalled, but they don't always do. Also, +a user might have added additional symlinks manually. + +https://bugs.freedesktop.org/show_bug.cgi?id=62395 +--- + src/shared/install.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/shared/install.c b/src/shared/install.c +index edf4d2a..a695e12 100644 +--- a/src/shared/install.c ++++ b/src/shared/install.c +@@ -1413,7 +1413,9 @@ static int install_context_mark_for_removal( + assert_se(hashmap_move_one(c->have_installed, c->will_install, i->name) == 0); + + q = unit_file_search(c, i, paths, root_dir, false); +- if (q < 0) { ++ if (q == -ENOENT) { ++ /* do nothing */ ++ } else if (q < 0) { + if (r >= 0) + r = q; + diff --git a/0114-journald-bump-the-journal-per-unit-ratelimit-default.patch b/0114-journald-bump-the-journal-per-unit-ratelimit-default.patch new file mode 100644 index 0000000..9f67ebb --- /dev/null +++ b/0114-journald-bump-the-journal-per-unit-ratelimit-default.patch @@ -0,0 +1,43 @@ +From 385f5f5e9722eefd287771008f90475fefe09b27 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 21 Jun 2013 15:56:45 +0200 +Subject: [PATCH] journald: bump the journal per-unit ratelimit defaults + +Too many people kept hitting them, so let's increase the limits a bit. + +https://bugzilla.redhat.com/show_bug.cgi?id=965803 +--- + src/journal/journald-server.c | 4 ++-- + src/journal/journald.conf | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c +index de8ac68..24c5227 100644 +--- a/src/journal/journald-server.c ++++ b/src/journal/journald-server.c +@@ -65,8 +65,8 @@ + #define USER_JOURNALS_MAX 1024 + + #define DEFAULT_SYNC_INTERVAL_USEC (5*USEC_PER_MINUTE) +-#define DEFAULT_RATE_LIMIT_INTERVAL (10*USEC_PER_SEC) +-#define DEFAULT_RATE_LIMIT_BURST 200 ++#define DEFAULT_RATE_LIMIT_INTERVAL (30*USEC_PER_SEC) ++#define DEFAULT_RATE_LIMIT_BURST 1000 + + #define RECHECK_AVAILABLE_SPACE_USEC (30*USEC_PER_SEC) + +diff --git a/src/journal/journald.conf b/src/journal/journald.conf +index 5410477..54f6833 100644 +--- a/src/journal/journald.conf ++++ b/src/journal/journald.conf +@@ -13,8 +13,8 @@ + #Seal=yes + #SplitMode=login + #SyncIntervalSec=5m +-#RateLimitInterval=10s +-#RateLimitBurst=200 ++#RateLimitInterval=30s ++#RateLimitBurst=1000 + #SystemMaxUse= + #SystemKeepFree= + #SystemMaxFileSize= diff --git a/0115-service-execute-ExecStopPost-commands-when-the-watch.patch b/0115-service-execute-ExecStopPost-commands-when-the-watch.patch new file mode 100644 index 0000000..68d6e5a --- /dev/null +++ b/0115-service-execute-ExecStopPost-commands-when-the-watch.patch @@ -0,0 +1,28 @@ +From 04a3f098eae9478dd58bd3b7c89afbc5d7b978b6 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 6 Jun 2013 09:10:12 +0200 +Subject: [PATCH] service: execute ExecStopPost= commands when the watchdog + timeout hits + +We can assume that a service for which a watchdog timeout was triggered +is unresponsive to a clean shutdown. However, it still makes sense to +execute the post-stop cleanup commands that can be configured with +ExecStopPost=. Hence, when the timeout is hit enter STOP_SIGKILL rather +than FINAL_SIGKILL. +--- + src/core/service.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/service.c b/src/core/service.c +index bc00f88..6e0abe6 100644 +--- a/src/core/service.c ++++ b/src/core/service.c +@@ -249,7 +249,7 @@ static void service_handle_watchdog(Service *s) { + offset = now(CLOCK_MONOTONIC) - s->watchdog_timestamp.monotonic; + if (offset >= s->watchdog_usec) { + log_error_unit(UNIT(s)->id, "%s watchdog timeout!", UNIT(s)->id); +- service_enter_signal(s, SERVICE_FINAL_SIGKILL, SERVICE_FAILURE_WATCHDOG); ++ service_enter_signal(s, SERVICE_STOP_SIGKILL, SERVICE_FAILURE_WATCHDOG); + return; + } + diff --git a/0116-localed-match-converted-keymaps-before-legacy.patch b/0116-localed-match-converted-keymaps-before-legacy.patch new file mode 100644 index 0000000..bcbbdb4 --- /dev/null +++ b/0116-localed-match-converted-keymaps-before-legacy.patch @@ -0,0 +1,327 @@ +From 818e7631dd6d3f0887e75022063c6291271684be Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 18 Nov 2013 13:42:57 -0500 +Subject: [PATCH] localed: match converted keymaps before legacy + +Before, X11 keymap fr-pc105-oss would be converted to fr, +even though fr-oss exists. Now, if +/usr/lib/kbd/keymaps/xkb/[-].map[.gz] exists, +[-] will be used as the console keymap, +falling back to the legacy mappings otherwise. + +% sudo localectl set-x11-keymap pl pc105 +% localectl + System Locale: LANG=en_US.UTF-8 + VC Keymap: pl (was pl2 before) + X11 Layout: pl + X11 Model: pc105 +% sudo localectl set-x11-keymap fr pc105 oss +% localectl + System Locale: LANG=en_US.UTF-8 + VC Keymap: fr-oss (was fr before) + X11 Layout: fr + X11 Model: pc105 + X11 Variant: oss +% sudo localectl set-x11-keymap fr pc105 +% localectl + System Locale: LANG=en_US.UTF-8 + VC Keymap: fr + X11 Layout: fr + X11 Model: pc105 +% sudo localectl set-x11-keymap gb +% localectl + System Locale: LANG=en_US.UTF-8 + VC Keymap: gb (was uk before) + X11 Layout: gb + +Conflicts: + src/locale/localed.c + src/shared/def.h + +Conflicts: + src/locale/localectl.c + src/shared/def.h +--- + src/locale/localectl.c | 7 +- + src/locale/localed.c | 189 ++++++++++++++++++++++++++++--------------------- + src/shared/def.h | 13 ++++ + 3 files changed, 126 insertions(+), 83 deletions(-) + +diff --git a/src/locale/localectl.c b/src/locale/localectl.c +index 50250c4..e455182 100644 +--- a/src/locale/localectl.c ++++ b/src/locale/localectl.c +@@ -38,6 +38,7 @@ + #include "set.h" + #include "path-util.h" + #include "utf8.h" ++#include "def.h" + + static bool arg_no_pager = false; + static enum transport { +@@ -532,14 +533,14 @@ static int nftw_cb( + + static int list_vconsole_keymaps(DBusConnection *bus, char **args, unsigned n) { + _cleanup_strv_free_ char **l = NULL; ++ const char *dir; + + keymaps = set_new(string_hash_func, string_compare_func); + if (!keymaps) + return log_oom(); + +- nftw("/usr/share/kbd/keymaps/", nftw_cb, 20, FTW_MOUNT|FTW_PHYS); +- nftw("/usr/lib/kbd/keymaps/", nftw_cb, 20, FTW_MOUNT|FTW_PHYS); +- nftw("/lib/kbd/keymaps/", nftw_cb, 20, FTW_MOUNT|FTW_PHYS); ++ NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS) ++ nftw(dir, nftw_cb, 20, FTW_MOUNT|FTW_PHYS); + + l = set_get_strv(keymaps); + if (!l) { +diff --git a/src/locale/localed.c b/src/locale/localed.c +index e160c04..b9b98f4 100644 +--- a/src/locale/localed.c ++++ b/src/locale/localed.c +@@ -792,105 +792,135 @@ static int convert_vconsole_to_x11(DBusConnection *connection) { + return 0; + } + +-static int convert_x11_to_vconsole(DBusConnection *connection) { +- bool modified = false; ++static int find_converted_keymap(char **new_keymap) { ++ const char *dir; ++ _cleanup_free_ char *n; ++ ++ if (state.x11_variant) ++ n = strjoin(state.x11_layout, "-", state.x11_variant, NULL); ++ else ++ n = strdup(state.x11_layout); ++ if (!n) ++ return -ENOMEM; + +- assert(connection); ++ NULSTR_FOREACH(dir, KBD_KEYMAP_DIRS) { ++ _cleanup_free_ char *p = NULL, *pz = NULL; + +- if (isempty(state.x11_layout)) { ++ p = strjoin(dir, "xkb/", n, ".map", NULL); ++ pz = strjoin(dir, "xkb/", n, ".map.gz", NULL); ++ if (!p || !pz) ++ return -ENOMEM; + +- modified = +- !isempty(state.vc_keymap) || +- !isempty(state.vc_keymap_toggle); ++ if (access(p, F_OK) == 0 || access(pz, F_OK) == 0) { ++ *new_keymap = n; ++ n = NULL; ++ return 1; ++ } ++ } + +- free_data_x11(); +- } else { +- FILE *f; +- unsigned n = 0; +- unsigned best_matching = 0; +- char *new_keymap = NULL; ++ return 0; ++} + +- f = fopen(SYSTEMD_KBD_MODEL_MAP, "re"); +- if (!f) +- return -errno; ++static int find_legacy_keymap(char **new_keymap) { ++ _cleanup_fclose_ FILE *f; ++ unsigned n = 0; ++ unsigned best_matching = 0; + +- for (;;) { +- char **a; +- unsigned matching = 0; +- int r; + +- r = read_next_mapping(f, &n, &a); +- if (r < 0) { +- fclose(f); +- return r; +- } ++ f = fopen(SYSTEMD_KBD_MODEL_MAP, "re"); ++ if (!f) ++ return -errno; + +- if (r == 0) +- break; ++ for (;;) { ++ _cleanup_strv_free_ char **a = NULL; ++ unsigned matching = 0; ++ int r; + +- /* Determine how well matching this entry is */ +- if (streq_ptr(state.x11_layout, a[1])) +- /* If we got an exact match, this is best */ +- matching = 10; +- else { +- size_t x; +- +- x = strcspn(state.x11_layout, ","); +- +- /* We have multiple X layouts, look +- * for an entry that matches our key +- * with the everything but the first +- * layout stripped off. */ +- if (x > 0 && +- strlen(a[1]) == x && +- strneq(state.x11_layout, a[1], x)) +- matching = 5; +- else { +- size_t w; +- +- /* If that didn't work, strip +- * off the other layouts from +- * the entry, too */ +- +- w = strcspn(a[1], ","); +- +- if (x > 0 && x == w && +- memcmp(state.x11_layout, a[1], x) == 0) +- matching = 1; +- } ++ r = read_next_mapping(f, &n, &a); ++ if (r < 0) ++ return r; ++ if (r == 0) ++ break; ++ ++ /* Determine how well matching this entry is */ ++ if (streq_ptr(state.x11_layout, a[1])) ++ /* If we got an exact match, this is best */ ++ matching = 10; ++ else { ++ size_t x; ++ ++ x = strcspn(state.x11_layout, ","); ++ ++ /* We have multiple X layouts, look for an ++ * entry that matches our key with everything ++ * but the first layout stripped off. */ ++ if (x > 0 && ++ strlen(a[1]) == x && ++ strneq(state.x11_layout, a[1], x)) ++ matching = 5; ++ else { ++ size_t w; ++ ++ /* If that didn't work, strip off the ++ * other layouts from the entry, too */ ++ w = strcspn(a[1], ","); ++ ++ if (x > 0 && x == w && ++ memcmp(state.x11_layout, a[1], x) == 0) ++ matching = 1; + } ++ } ++ ++ if (matching > 0 && ++ streq_ptr(state.x11_model, a[2])) { ++ matching++; + +- if (matching > 0 && +- streq_ptr(state.x11_model, a[2])) { ++ if (streq_ptr(state.x11_variant, a[3])) { + matching++; + +- if (streq_ptr(state.x11_variant, a[3])) { ++ if (streq_ptr(state.x11_options, a[4])) + matching++; +- +- if (streq_ptr(state.x11_options, a[4])) +- matching++; +- } + } ++ } + +- /* The best matching entry so far, then let's +- * save that */ +- if (matching > best_matching) { +- best_matching = matching; ++ /* The best matching entry so far, then let's save that */ ++ if (matching > best_matching) { ++ best_matching = matching; + +- free(new_keymap); +- new_keymap = strdup(a[0]); ++ free(*new_keymap); ++ *new_keymap = strdup(a[0]); ++ if (!*new_keymap) ++ return -ENOMEM; ++ } ++ } + +- if (!new_keymap) { +- strv_free(a); +- fclose(f); +- return -ENOMEM; +- } +- } ++ return 0; ++} + +- strv_free(a); +- } ++static int convert_x11_to_vconsole(DBusConnection *connection) { ++ bool modified = false; ++ int r; + +- fclose(f); ++ assert(connection); ++ ++ if (isempty(state.x11_layout)) { ++ ++ modified = ++ !isempty(state.vc_keymap) || ++ !isempty(state.vc_keymap_toggle); ++ ++ free_data_x11(); ++ } else { ++ char *new_keymap = NULL; ++ ++ r = find_converted_keymap(&new_keymap); ++ if (r < 0) ++ return r; ++ else if (r == 0) { ++ r = find_legacy_keymap(&new_keymap); ++ if (r < 0) ++ return r; ++ } + + if (!streq_ptr(state.vc_keymap, new_keymap)) { + free(state.vc_keymap); +@@ -907,7 +937,6 @@ static int convert_x11_to_vconsole(DBusConnection *connection) { + if (modified) { + dbus_bool_t b; + DBusMessage *changed; +- int r; + + r = write_data_vconsole(); + if (r < 0) +diff --git a/src/shared/def.h b/src/shared/def.h +index 5ba170f..be1248e 100644 +--- a/src/shared/def.h ++++ b/src/shared/def.h +@@ -33,3 +33,16 @@ + + #define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT + #define SIGNALS_IGNORE SIGKILL,SIGPIPE ++ ++#ifdef HAVE_SPLIT_USR ++#define KBD_KEYMAP_DIRS \ ++ "/usr/share/keymaps/\0" \ ++ "/usr/share/kbd/keymaps/\0" \ ++ "/usr/lib/kbd/keymaps/\0" \ ++ "/lib/kbd/keymaps/\0" ++#else ++#define KBD_KEYMAP_DIRS \ ++ "/usr/share/keymaps/\0" \ ++ "/usr/share/kbd/keymaps/\0" \ ++ "/usr/lib/kbd/keymaps/\0" ++#endif diff --git a/systemd-hwdb.patch b/systemd-hwdb.patch index 42e8b27..84f9c75 100644 --- a/systemd-hwdb.patch +++ b/systemd-hwdb.patch @@ -9288,6 +9288,440 @@ index 09fc3bd..9b3b009 100644 acpi:PNR*: ID_VENDOR_FROM_DATABASE=Planar Systems, Inc. +diff --git a/hwdb/20-bluetooth-vendor-product.hwdb b/hwdb/20-bluetooth-vendor-product.hwdb +index c8cb322..dcc25bb 100644 +--- a/hwdb/20-bluetooth-vendor-product.hwdb ++++ b/hwdb/20-bluetooth-vendor-product.hwdb +@@ -46,7 +46,7 @@ bluetooth:v000D* + ID_VENDOR_FROM_DATABASE=Texas Instruments Inc. + + bluetooth:v000E* +- ID_VENDOR_FROM_DATABASE=Ceva, Inc. (formerly Parthus Technologies Inc.) ++ ID_VENDOR_FROM_DATABASE=Ceva, Inc. (formerly Parthus Technologies, Inc.) + + bluetooth:v000F* + ID_VENDOR_FROM_DATABASE=Broadcom Corporation +@@ -55,7 +55,7 @@ bluetooth:v0010* + ID_VENDOR_FROM_DATABASE=Mitel Semiconductor + + bluetooth:v0011* +- ID_VENDOR_FROM_DATABASE=Widcomm, Inc. ++ ID_VENDOR_FROM_DATABASE=Widcomm, Inc + + bluetooth:v0012* + ID_VENDOR_FROM_DATABASE=Zeevo, Inc. +@@ -73,13 +73,13 @@ bluetooth:v0016* + ID_VENDOR_FROM_DATABASE=KC Technology Inc. + + bluetooth:v0017* +- ID_VENDOR_FROM_DATABASE=Newlogic ++ ID_VENDOR_FROM_DATABASE=NewLogic + + bluetooth:v0018* + ID_VENDOR_FROM_DATABASE=Transilica, Inc. + + bluetooth:v0019* +- ID_VENDOR_FROM_DATABASE=Rohde & Schwartz GmbH & Co. KG ++ ID_VENDOR_FROM_DATABASE=Rohde & Schwarz GmbH & Co. KG + + bluetooth:v001A* + ID_VENDOR_FROM_DATABASE=TTPCom Limited +@@ -151,7 +151,7 @@ bluetooth:v0030* + ID_VENDOR_FROM_DATABASE=ST Microelectronics + + bluetooth:v0031* +- ID_VENDOR_FROM_DATABASE=Synopsys ++ ID_VENDOR_FROM_DATABASE=Synopsis + + bluetooth:v0032* + ID_VENDOR_FROM_DATABASE=Red-M (Communications) Ltd +@@ -190,16 +190,16 @@ bluetooth:v003D* + ID_VENDOR_FROM_DATABASE=IPextreme, Inc. + + bluetooth:v003E* +- ID_VENDOR_FROM_DATABASE=Systems and Chips, Inc ++ ID_VENDOR_FROM_DATABASE=Systems and Chips, Inc. + + bluetooth:v003F* +- ID_VENDOR_FROM_DATABASE=Bluetooth SIG, Inc ++ ID_VENDOR_FROM_DATABASE=Bluetooth SIG, Inc. + + bluetooth:v0040* + ID_VENDOR_FROM_DATABASE=Seiko Epson Corporation + + bluetooth:v0041* +- ID_VENDOR_FROM_DATABASE=Integrated Silicon Solution Taiwain, Inc. ++ ID_VENDOR_FROM_DATABASE=Integrated Silicon Solution Taiwan, Inc. + + bluetooth:v0042* + ID_VENDOR_FROM_DATABASE=CONWISE Technology Corporation Ltd +@@ -244,7 +244,7 @@ bluetooth:v004F* + ID_VENDOR_FROM_DATABASE=APT Licensing Ltd. + + bluetooth:v0050* +- ID_VENDOR_FROM_DATABASE=SiRF Technology, Inc. ++ ID_VENDOR_FROM_DATABASE=SiRF Technology + + bluetooth:v0051* + ID_VENDOR_FROM_DATABASE=Tzero Technologies, Inc. +@@ -366,6 +366,9 @@ bluetooth:v0077* + bluetooth:v0078* + ID_VENDOR_FROM_DATABASE=Nike, Inc. + ++bluetooth:v0078p0001* ++ ID_PRODUCT_FROM_DATABASE=Nike+ FuelBand ++ + bluetooth:v0079* + ID_VENDOR_FROM_DATABASE=lesswire AG + +@@ -379,7 +382,7 @@ bluetooth:v007C* + ID_VENDOR_FROM_DATABASE=A & R Cambridge + + bluetooth:v007D* +- ID_VENDOR_FROM_DATABASE=Seers Technology Co. Ltd. ++ ID_VENDOR_FROM_DATABASE=Seers Technology Co. Ltd + + bluetooth:v007E* + ID_VENDOR_FROM_DATABASE=Sports Tracking Technologies Ltd. +@@ -406,7 +409,7 @@ bluetooth:v0085* + ID_VENDOR_FROM_DATABASE=BlueRadios, Inc. + + bluetooth:v0086* +- ID_VENDOR_FROM_DATABASE=equinux AG ++ ID_VENDOR_FROM_DATABASE=equinox AG + + bluetooth:v0087* + ID_VENDOR_FROM_DATABASE=Garmin International, Inc. +@@ -421,7 +424,7 @@ bluetooth:v008A* + ID_VENDOR_FROM_DATABASE=Jawbone + + bluetooth:v008B* +- ID_VENDOR_FROM_DATABASE=Topcon Positioning Systems, LLC ++ ID_VENDOR_FROM_DATABASE=Topcorn Positioning Systems, LLC + + bluetooth:v008C* + ID_VENDOR_FROM_DATABASE=Qualcomm Labs, Inc. +@@ -433,13 +436,13 @@ bluetooth:v008E* + ID_VENDOR_FROM_DATABASE=Quintic Corp. + + bluetooth:v008F* +- ID_VENDOR_FROM_DATABASE=Stollmann E+V GmbH ++ ID_VENDOR_FROM_DATABASE=Stollman E+V GmbH + + bluetooth:v0090* + ID_VENDOR_FROM_DATABASE=Funai Electric Co., Ltd. + + bluetooth:v0091* +- ID_VENDOR_FROM_DATABASE=Advanced PANMOBIL systems GmbH & Co. KG ++ ID_VENDOR_FROM_DATABASE=Advanced PANMOBIL Systems GmbH & Co. KG + + bluetooth:v0092* + ID_VENDOR_FROM_DATABASE=ThinkOptics, Inc. +@@ -457,10 +460,10 @@ bluetooth:v0096* + ID_VENDOR_FROM_DATABASE=ODM Technology, Inc. + + bluetooth:v0097* +- ID_VENDOR_FROM_DATABASE=Bluetrek Technologies Limited ++ ID_VENDOR_FROM_DATABASE=ConnecteDevice Ltd. + + bluetooth:v0098* +- ID_VENDOR_FROM_DATABASE=zero1.tv GmbH ++ ID_VENDOR_FROM_DATABASE=zer01.tv GmbH + + bluetooth:v0099* + ID_VENDOR_FROM_DATABASE=i.Tech Dynamic Global Distribution Ltd. +@@ -511,7 +514,7 @@ bluetooth:v00A8* + ID_VENDOR_FROM_DATABASE=ARP Devices Limited + + bluetooth:v00A9* +- ID_VENDOR_FROM_DATABASE=Magneti Marelli S.p.A. ++ ID_VENDOR_FROM_DATABASE=Magneti Marelli S.p.A + + bluetooth:v00AA* + ID_VENDOR_FROM_DATABASE=CAEN RFID srl +@@ -539,3 +542,282 @@ bluetooth:v00B1* + + bluetooth:v00B2* + ID_VENDOR_FROM_DATABASE=Bekey A/S ++ ++bluetooth:v00B3* ++ ID_VENDOR_FROM_DATABASE=Clarinox Technologies Pty. Ltd. ++ ++bluetooth:v00B4* ++ ID_VENDOR_FROM_DATABASE=BDE Technology Co., Ltd. ++ ++bluetooth:v00B5* ++ ID_VENDOR_FROM_DATABASE=Swirl Networks ++ ++bluetooth:v00B6* ++ ID_VENDOR_FROM_DATABASE=Meso international ++ ++bluetooth:v00B7* ++ ID_VENDOR_FROM_DATABASE=TreLab Ltd ++ ++bluetooth:v00B8* ++ ID_VENDOR_FROM_DATABASE=Qualcomm Innovation Center, Inc. (QuIC) ++ ++bluetooth:v00B9* ++ ID_VENDOR_FROM_DATABASE=Johnson Controls, Inc. ++ ++bluetooth:v00BA* ++ ID_VENDOR_FROM_DATABASE=Starkey Laboratories Inc. ++ ++bluetooth:v00BB* ++ ID_VENDOR_FROM_DATABASE=S-Power Electronics Limited ++ ++bluetooth:v00BC* ++ ID_VENDOR_FROM_DATABASE=Ace Sensor Inc ++ ++bluetooth:v00BD* ++ ID_VENDOR_FROM_DATABASE=Aplix Corporation ++ ++bluetooth:v00BE* ++ ID_VENDOR_FROM_DATABASE=AAMP of America ++ ++bluetooth:v00BF* ++ ID_VENDOR_FROM_DATABASE=Stalmart Technology Limited ++ ++bluetooth:v00C0* ++ ID_VENDOR_FROM_DATABASE=AMICCOM Electronics Corporation ++ ++bluetooth:v00C1* ++ ID_VENDOR_FROM_DATABASE=Shenzhen Excelsecu Data Technology Co.,Ltd ++ ++bluetooth:v00C2* ++ ID_VENDOR_FROM_DATABASE=Geneq Inc. ++ ++bluetooth:v00C3* ++ ID_VENDOR_FROM_DATABASE=adidas AG ++ ++bluetooth:v00C4* ++ ID_VENDOR_FROM_DATABASE=LG Electronics ++ ++bluetooth:v00C5* ++ ID_VENDOR_FROM_DATABASE=Onset Computer Corporation ++ ++bluetooth:v00C6* ++ ID_VENDOR_FROM_DATABASE=Selfly BV ++ ++bluetooth:v00C7* ++ ID_VENDOR_FROM_DATABASE=Quuppa Oy. ++ ++bluetooth:v00C8* ++ ID_VENDOR_FROM_DATABASE=GeLo Inc ++ ++bluetooth:v00C9* ++ ID_VENDOR_FROM_DATABASE=Evluma ++ ++bluetooth:v00CA* ++ ID_VENDOR_FROM_DATABASE=MC10 ++ ++bluetooth:v00CB* ++ ID_VENDOR_FROM_DATABASE=Binauric SE ++ ++bluetooth:v00CC* ++ ID_VENDOR_FROM_DATABASE=Beats Electronics ++ ++bluetooth:v00CD* ++ ID_VENDOR_FROM_DATABASE=Microchip Technology Inc. ++ ++bluetooth:v00CE* ++ ID_VENDOR_FROM_DATABASE=Elgato Systems GmbH ++ ++bluetooth:v00CF* ++ ID_VENDOR_FROM_DATABASE=ARCHOS SA ++ ++bluetooth:v00D1* ++ ID_VENDOR_FROM_DATABASE=Polar Electro Europe B.V. ++ ++bluetooth:v00D2* ++ ID_VENDOR_FROM_DATABASE=Dialog Semiconductor B.V. ++ ++bluetooth:v00D3* ++ ID_VENDOR_FROM_DATABASE=Taixingbang Technology (HK) Co,. LTD. ++ ++bluetooth:v00D4* ++ ID_VENDOR_FROM_DATABASE=Kawantech ++ ++bluetooth:v00D5* ++ ID_VENDOR_FROM_DATABASE=Austco Communication Systems ++ ++bluetooth:v00D6* ++ ID_VENDOR_FROM_DATABASE=Timex Group USA, Inc. ++ ++bluetooth:v00D7* ++ ID_VENDOR_FROM_DATABASE=Qualcomm Technologies, Inc. ++ ++bluetooth:v00D8* ++ ID_VENDOR_FROM_DATABASE=Qualcomm Connected Experiences, Inc. ++ ++bluetooth:v00D9* ++ ID_VENDOR_FROM_DATABASE=Voyetra Turtle Beach ++ ++bluetooth:v00DA* ++ ID_VENDOR_FROM_DATABASE=txtr GmbH ++ ++bluetooth:v00DB* ++ ID_VENDOR_FROM_DATABASE=Biosentronics ++ ++bluetooth:v00DC* ++ ID_VENDOR_FROM_DATABASE=Procter & Gamble ++ ++bluetooth:v00DD* ++ ID_VENDOR_FROM_DATABASE=Hosiden Corporation ++ ++bluetooth:v00DE* ++ ID_VENDOR_FROM_DATABASE=Muzik LLC ++ ++bluetooth:v00DF* ++ ID_VENDOR_FROM_DATABASE=Misfit Wearables Corp ++ ++bluetooth:v00E0* ++ ID_VENDOR_FROM_DATABASE=Google ++ ++bluetooth:v00E1* ++ ID_VENDOR_FROM_DATABASE=Danlers Ltd ++ ++bluetooth:v00E2* ++ ID_VENDOR_FROM_DATABASE=Semilink Inc ++ ++bluetooth:v00E3* ++ ID_VENDOR_FROM_DATABASE=inMusic Brands, Inc ++ ++bluetooth:v00E4* ++ ID_VENDOR_FROM_DATABASE=L.S. Research Inc. ++ ++bluetooth:v00E5* ++ ID_VENDOR_FROM_DATABASE=Eden Software Consultants Ltd. ++ ++bluetooth:v00E6* ++ ID_VENDOR_FROM_DATABASE=Freshtemp ++ ++bluetooth:v00E7* ++ ID_VENDOR_FROM_DATABASE=KS Technologies ++ ++bluetooth:v00E8* ++ ID_VENDOR_FROM_DATABASE=ACTS Technologies ++ ++bluetooth:v00E9* ++ ID_VENDOR_FROM_DATABASE=Vtrack Systems ++ ++bluetooth:v00EA* ++ ID_VENDOR_FROM_DATABASE=Nielsen-Kellerman Company ++ ++bluetooth:v00EB* ++ ID_VENDOR_FROM_DATABASE=Server Technology, Inc. ++ ++bluetooth:v00EC* ++ ID_VENDOR_FROM_DATABASE=BioResearch Associates ++ ++bluetooth:v00ED* ++ ID_VENDOR_FROM_DATABASE=Jolly Logic, LLC ++ ++bluetooth:v00EE* ++ ID_VENDOR_FROM_DATABASE=Above Average Outcomes, Inc. ++ ++bluetooth:v00EF* ++ ID_VENDOR_FROM_DATABASE=Bitsplitters GmbH ++ ++bluetooth:v00F0* ++ ID_VENDOR_FROM_DATABASE=PayPal, Inc. ++ ++bluetooth:v00F1* ++ ID_VENDOR_FROM_DATABASE=Witron Technology Limited ++ ++bluetooth:v00F2* ++ ID_VENDOR_FROM_DATABASE=Morse Project Inc. ++ ++bluetooth:v00F3* ++ ID_VENDOR_FROM_DATABASE=Kent Displays Inc. ++ ++bluetooth:v00F4* ++ ID_VENDOR_FROM_DATABASE=Nautilus Inc. ++ ++bluetooth:v00F5* ++ ID_VENDOR_FROM_DATABASE=Smartifier Oy ++ ++bluetooth:v00F6* ++ ID_VENDOR_FROM_DATABASE=Elcometer Limited ++ ++bluetooth:v00F7* ++ ID_VENDOR_FROM_DATABASE=VSN Technologies Inc. ++ ++bluetooth:v00F8* ++ ID_VENDOR_FROM_DATABASE=AceUni Corp., Ltd. ++ ++bluetooth:v00F9* ++ ID_VENDOR_FROM_DATABASE=StickNFind ++ ++bluetooth:v00FA* ++ ID_VENDOR_FROM_DATABASE=Crystal Code AB ++ ++bluetooth:v00FB* ++ ID_VENDOR_FROM_DATABASE=KOUKAAM a.s. ++ ++bluetooth:v00FC* ++ ID_VENDOR_FROM_DATABASE=Delphi Corporation ++ ++bluetooth:v00FD* ++ ID_VENDOR_FROM_DATABASE=ValenceTech Limited ++ ++bluetooth:v00FE* ++ ID_VENDOR_FROM_DATABASE=Reserved ++ ++bluetooth:v00FF* ++ ID_VENDOR_FROM_DATABASE=Typo Products, LLC ++ ++bluetooth:v0100* ++ ID_VENDOR_FROM_DATABASE=TomTom International BV ++ ++bluetooth:v0101* ++ ID_VENDOR_FROM_DATABASE=Fugoo, Inc ++ ++bluetooth:v0102* ++ ID_VENDOR_FROM_DATABASE=Keiser Corporation ++ ++bluetooth:v0103* ++ ID_VENDOR_FROM_DATABASE=Bang & Olufsen A/S ++ ++bluetooth:v0104* ++ ID_VENDOR_FROM_DATABASE=PLUS Locations Systems Pty Ltd ++ ++bluetooth:v0105* ++ ID_VENDOR_FROM_DATABASE=Ubiquitous Computing Technology Corporation ++ ++bluetooth:v0106* ++ ID_VENDOR_FROM_DATABASE=Innovative Yachtter Solutions ++ ++bluetooth:v0107* ++ ID_VENDOR_FROM_DATABASE=William Demant Holding A/S ++ ++bluetooth:v0108* ++ ID_VENDOR_FROM_DATABASE=Chicony Electronics Co., Ltd. ++ ++bluetooth:v0109* ++ ID_VENDOR_FROM_DATABASE=Atus BV ++ ++bluetooth:v010A* ++ ID_VENDOR_FROM_DATABASE=Codegate Ltd. ++ ++bluetooth:v010B* ++ ID_VENDOR_FROM_DATABASE=ERi, Inc. ++ ++bluetooth:v010C* ++ ID_VENDOR_FROM_DATABASE=Transducers Direct, LLC ++ ++bluetooth:v010D* ++ ID_VENDOR_FROM_DATABASE=Fujitsu Ten Limited ++ ++bluetooth:v010E* ++ ID_VENDOR_FROM_DATABASE=Audi AG ++ ++bluetooth:v010F* ++ ID_VENDOR_FROM_DATABASE=HiSilicon Technologies Co., Ltd. ++ ++bluetooth:v0110* ++ ID_VENDOR_FROM_DATABASE=Nippon Seiki Co., Ltd. diff --git a/hwdb/20-pci-vendor-model.hwdb b/hwdb/20-pci-vendor-model.hwdb index a8dcc31..289f81c 100644 --- a/hwdb/20-pci-vendor-model.hwdb @@ -19636,10 +20070,10 @@ index 8c9584b..da8385e 100644 diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb new file mode 100644 -index 0000000..b497f92 +index 0000000..72cb993 --- /dev/null +++ b/hwdb/60-keyboard.hwdb -@@ -0,0 +1,1089 @@ +@@ -0,0 +1,1099 @@ +# This file is part of systemd. +# +# Keyboard mapping of scan codes to key codes, and @@ -20154,11 +20588,6 @@ index 0000000..b497f92 + KEYBOARD_KEY_17=prog1 + KEYBOARD_KEY_1a=f20 + -+# -+keyboard:name:Ideapad extra buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* -+ KEYBOARD_KEY_42=f23 -+ KEYBOARD_KEY_43=f22 -+ +# ThinkPad Keyboard with TrackPoint +keyboard:usb:v17EFp6009* + KEYBOARD_KEY_090012=screenlock # Fn+F2 @@ -20214,19 +20643,27 @@ index 0000000..b497f92 + KEYBOARD_KEY_69=enter # enter on d-pad + +# IdeaPad ++keyboard:name:Ideapad extra buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* ++ KEYBOARD_KEY_42=f23 ++ KEYBOARD_KEY_43=f22 ++ +keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*Y550*:pvr* + KEYBOARD_KEY_95=media + KEYBOARD_KEY_a3=play + -+# V480 -+keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr* -+ KEYBOARD_KEY_f1=f21 -+ -+# IdeaPad +keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*U300s*:pvr* + KEYBOARD_KEY_f1=f21 + KEYBOARD_KEY_ce=f20 + ++keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr* ++ KEYBOARD_KEY_a0=!mute ++ KEYBOARD_KEY_ae=!volumedown ++ KEYBOARD_KEY_b0=!volumeup ++ ++# V480 ++keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr* ++ KEYBOARD_KEY_f1=f21 ++ +########################################################### +# Logitech +########################################################### @@ -20673,6 +21110,13 @@ index 0000000..b497f92 + KEYBOARD_KEY_a9=switchvideomode # switch display outputs + KEYBOARD_KEY_d4=wlan # RF Switch Off + ++# Satellite U940 ++keyboard:name:Toshiba*input*device:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSATELLITEU940:pvr* ++ KEYBOARD_KEY_13c=brightnessdown ++ KEYBOARD_KEY_13d=brightnessup ++ KEYBOARD_KEY_13e=switchvideomode ++ KEYBOARD_KEY_13f=f21 # Touchpad toggle ++ +########################################################### +# VIA +########################################################### diff --git a/systemd.spec b/systemd.spec index 0e49c2e..7371d90 100644 --- a/systemd.spec +++ b/systemd.spec @@ -22,7 +22,7 @@ Name: systemd Url: http://www.freedesktop.org/wiki/Software/systemd Version: 204 -Release: 17%{?gitcommit:.git%{gitcommit}}%{?dist} +Release: 18%{?gitcommit:.git%{gitcommit}}%{?dist} # For a breakdown of the licensing, see README License: LGPLv2+ and MIT and GPLv2+ Summary: A System and Service Manager @@ -44,100 +44,127 @@ Source4: listen.conf # Prevent accidental removal of the systemd package Source6: yum-protect-systemd.conf -# i=1; for p in 00*patch;do printf "Patch%02d: %s\n" $i $p; ((i++));done -Patch01: 0001-journal-correctly-convert-usec_t-to-timespec.patch -Patch02: 0002-systemd-python-do-not-attempt-to-convert-str-to-byte.patch -Patch03: 0003-systemd-python-fix-iteration.patch -Patch04: 0004-systemctl-honor-no-legend-in-list-sockets.patch -Patch05: 0005-service-kill-processes-with-SIGKILL-on-watchdog-fail.patch -Patch06: 0006-Fix-CPUShares-configuration-option.patch -Patch07: 0007-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch -Patch08: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch -Patch09: 0009-journal-remember-last-direction-of-search-and-keep-o.patch -Patch10: 0010-journal-letting-interleaved-seqnums-go.patch -Patch11: 0011-rules-drivers-always-call-kmod-even-when-a-driver-is.patch -Patch12: 0012-80-net-name-slot.rules-only-rename-network-interface.patch -Patch13: 0013-journal-fix-hashmap-leak-in-mmap-cache.patch -Patch14: 0014-fstab-generator-read-rd.fstab-on-off-switch-correctl.patch -Patch15: 0015-fstab-generator-log_oom-if-automount_name-is-null.patch -Patch16: 0016-journald-do-not-overwrite-syslog-facility-when-parsi.patch -Patch17: 0017-journal-fix-parsing-of-facility-in-syslog-messages.patch -Patch18: 0018-libudev-fix-memleak-when-enumerating-childs.patch -Patch19: 0019-libudev-enumerate-fix-NULL-deref-for-subsystem-match.patch -Patch20: 0020-systemd-coredump-Ignore-coredumps-larger-than-COREDU.patch -Patch21: 0021-journalctl-use-_COMM-match-for-scripts.patch -Patch22: 0022-Allow-tabs-in-environment-files.patch -Patch23: 0023-Actually-allow-tabs-in-environment-files.patch -Patch24: 0024-systemctl-process-only-signals-for-jobs-we-really-wa.patch -Patch25: 0025-cgtop-fixup-the-online-help.patch -Patch26: 0026-polkit-Avoid-race-condition-in-scraping-proc.patch -Patch27: 0027-clarify-escaping-in-Exec-lines.patch -Patch28: 0028-udev-builtin-blkid-export-ID_PART_TABLE_UUID.patch -Patch29: 0029-nspawn-be-less-liberal-about-creating-bind-mount-des.patch -Patch30: 0030-fix-grammatical-error.patch -Patch31: 0031-completion-systemctl-add-missing-list-sockets-verb.patch -Patch32: 0032-journalctl-1-s-adm-systemd-journal.patch -Patch33: 0033-journald-accept-EPOLLERR-from-dev-kmsg.patch -Patch34: 0034-logind-if-a-user-is-sitting-in-front-of-the-computer.patch -Patch35: 0035-dbus-fix-introspection-for-TimerSlackNSec.patch -Patch36: 0036-swap-properly-expose-timeout-property-on-the-bus.patch -Patch37: 0037-Remove-duplicated-line.patch -Patch38: 0038-Add-a-bit-more-explicit-message-to-help-confused-use.patch -Patch39: 0039-Fix-buffer-overrun-when-enumerating-files.patch -Patch40: 0040-set-IgnoreOnIsolate-true-for-systemd-cryptsetup-.ser.patch -Patch41: 0041-man-mention-the-systemd-homepage-from-systemd-1.patch -Patch42: 0042-main-don-t-free-fds-array-twice.patch -Patch43: 0043-smack-setup-fix-path-to-Smack-CIPSO-mappings.patch -Patch44: 0044-util.c-ignore-pollfd.revent-for-loop_read-loop_write.patch -Patch45: 0045-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch -Patch46: 0046-journald-add-missing-error-check.patch -Patch47: 0047-dbus-fix-return-value-of-dispatch_rqueue.patch -Patch48: 0048-modules-load-fix-error-handling.patch -Patch49: 0049-efi-never-call-qsort-on-potentially-NULL-arrays.patch -Patch50: 0050-strv-don-t-access-potentially-NULL-string-arrays.patch -Patch51: 0051-execute.c-always-set-SHELL.patch -Patch52: 0052-man-Improve-the-description-of-parameter-X-in-tmpfil.patch -Patch53: 0053-systemd-order-remote-mounts-from-mountinfo-before-re.patch -Patch54: 0054-manager-when-verifying-whether-clients-may-change-en.patch -Patch55: 0055-Advertise-hibernation-only-if-there-s-enough-free-sw.patch -Patch56: 0056-Assume-that-proc-meminfo-can-be-missing.patch -Patch57: 0057-Use-first-partition-in-proc-swaps-for-hibernation-te.patch -Patch58: 0058-test-fileio-assume-that-Buffers-may-be-missing.patch -Patch59: 0059-Remove-duplicate-entries-from-syscall-list.patch -Patch60: 0060-libudev-add-missing-global-to-symbol-export.patch -Patch61: 0061-man-fix-description-of-sysctl.d-order.patch -Patch62: 0062-units-make-fsck-units-remain-after-exit.patch -Patch63: 0063-systemd-tmpfiles-setup-dev-remain-after-exit.patch -Patch64: 0064-kmod-static-nodes-remain-after-exit.patch -Patch65: 0065-sysctl-allow-overwriting-of-values-specified-in-late.patch -Patch66: 0066-Restore-reading-of-etc-sysctl.conf.patch -Patch67: 0067-mount-when-learning-about-the-root-mount-from-mounti.patch -Patch68: 0068-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch -Patch69: 0069-systemd-serialize-deserialize-forbid_restart-value.patch -Patch70: 0070-core-unify-the-way-we-denote-serialization-attribute.patch -Patch71: 0071-journal-vacuum-cleanup.patch -Patch72: 0072-journald-always-vacuum-empty-offline-files.patch -Patch73: 0073-journald-fix-vacuuming-of-archived-journals.patch -Patch74: 0074-journald-fix-fd-leak-in-journal_file_empty.patch -Patch75: 0075-journald-be-a-bit-more-verbose-when-vacuuming.patch -Patch76: 0076-journald-fix-minor-memory-leak.patch -Patch77: 0077-journald-remove-rotated-file-from-hashmap-when-rotat.patch -Patch78: 0078-udevadm.xml-document-resolve-names-option-for-test.patch -Patch79: 0079-dbus-common-avoid-leak-in-error-path.patch -Patch80: 0080-drop-ins-check-return-value.patch -Patch81: 0081-man-add-more-markup-to-udevadm-8.patch -Patch82: 0082-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch -Patch83: 0083-man-document-the-b-special-boot-option.patch -Patch84: 0084-rules-expose-loop-block-devices-to-systemd.patch -Patch85: 0085-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch -Patch86: 0086-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch -Patch87: 0087-rules-remove-pointless-MODE-settings.patch -Patch88: 0088-shell-completion-dump-has-moved-to-systemd-analyze.patch -Patch89: 0089-give-priority-to-etc-sysctl.conf.patch -Patch90: 0090-libudev-fix-hwdb-validation-to-look-for-the-new-file.patch - -# git diff --src-prefix=a/ --dst-prefix=b/ v204 -- hwdb/ > systemd-hwdb.patch -Patch99: systemd-hwdb.patch +# GIT_DIR=~/src/systemd/.git git format-patch --src-prefix=a/ --dst-prefix=b/ -M -N --no-signature v204..v204-stable +# i=1; for p in 0*patch;do printf "Patch%03d: %s\n" $i $p; ((i++));done +Patch001: 0001-journal-correctly-convert-usec_t-to-timespec.patch +Patch002: 0002-systemd-python-do-not-attempt-to-convert-str-to-byte.patch +Patch003: 0003-systemd-python-fix-iteration.patch +Patch004: 0004-systemctl-honor-no-legend-in-list-sockets.patch +Patch005: 0005-service-kill-processes-with-SIGKILL-on-watchdog-fail.patch +Patch006: 0006-Fix-CPUShares-configuration-option.patch +Patch007: 0007-journald-DO-recalculate-the-ACL-mask-but-only-if-it-.patch +Patch008: 0008-service-don-t-report-alien-child-as-alive-when-it-s-.patch +Patch009: 0009-journal-remember-last-direction-of-search-and-keep-o.patch +Patch010: 0010-journal-letting-interleaved-seqnums-go.patch +Patch011: 0011-rules-drivers-always-call-kmod-even-when-a-driver-is.patch +Patch012: 0012-80-net-name-slot.rules-only-rename-network-interface.patch +Patch013: 0013-journal-fix-hashmap-leak-in-mmap-cache.patch +Patch014: 0014-fstab-generator-read-rd.fstab-on-off-switch-correctl.patch +Patch015: 0015-fstab-generator-log_oom-if-automount_name-is-null.patch +Patch016: 0016-journald-do-not-overwrite-syslog-facility-when-parsi.patch +Patch017: 0017-journal-fix-parsing-of-facility-in-syslog-messages.patch +Patch018: 0018-libudev-fix-memleak-when-enumerating-childs.patch +Patch019: 0019-libudev-enumerate-fix-NULL-deref-for-subsystem-match.patch +Patch020: 0020-systemd-coredump-Ignore-coredumps-larger-than-COREDU.patch +Patch021: 0021-journalctl-use-_COMM-match-for-scripts.patch +Patch022: 0022-Allow-tabs-in-environment-files.patch +Patch023: 0023-Actually-allow-tabs-in-environment-files.patch +Patch024: 0024-systemctl-process-only-signals-for-jobs-we-really-wa.patch +Patch025: 0025-cgtop-fixup-the-online-help.patch +Patch026: 0026-polkit-Avoid-race-condition-in-scraping-proc.patch +Patch027: 0027-clarify-escaping-in-Exec-lines.patch +Patch028: 0028-udev-builtin-blkid-export-ID_PART_TABLE_UUID.patch +Patch029: 0029-nspawn-be-less-liberal-about-creating-bind-mount-des.patch +Patch030: 0030-fix-grammatical-error.patch +Patch031: 0031-completion-systemctl-add-missing-list-sockets-verb.patch +Patch032: 0032-journalctl-1-s-adm-systemd-journal.patch +Patch033: 0033-journald-accept-EPOLLERR-from-dev-kmsg.patch +Patch034: 0034-logind-if-a-user-is-sitting-in-front-of-the-computer.patch +Patch035: 0035-dbus-fix-introspection-for-TimerSlackNSec.patch +Patch036: 0036-swap-properly-expose-timeout-property-on-the-bus.patch +Patch037: 0037-Remove-duplicated-line.patch +Patch038: 0038-Add-a-bit-more-explicit-message-to-help-confused-use.patch +Patch039: 0039-Fix-buffer-overrun-when-enumerating-files.patch +Patch040: 0040-set-IgnoreOnIsolate-true-for-systemd-cryptsetup-.ser.patch +Patch041: 0041-man-mention-the-systemd-homepage-from-systemd-1.patch +Patch042: 0042-main-don-t-free-fds-array-twice.patch +Patch043: 0043-smack-setup-fix-path-to-Smack-CIPSO-mappings.patch +Patch044: 0044-util.c-ignore-pollfd.revent-for-loop_read-loop_write.patch +Patch045: 0045-cryptsetup-fix-OOM-handling-when-parsing-mount-optio.patch +Patch046: 0046-journald-add-missing-error-check.patch +Patch047: 0047-dbus-fix-return-value-of-dispatch_rqueue.patch +Patch048: 0048-modules-load-fix-error-handling.patch +Patch049: 0049-efi-never-call-qsort-on-potentially-NULL-arrays.patch +Patch050: 0050-strv-don-t-access-potentially-NULL-string-arrays.patch +Patch051: 0051-execute.c-always-set-SHELL.patch +Patch052: 0052-man-Improve-the-description-of-parameter-X-in-tmpfil.patch +Patch053: 0053-systemd-order-remote-mounts-from-mountinfo-before-re.patch +Patch054: 0054-manager-when-verifying-whether-clients-may-change-en.patch +Patch055: 0055-Advertise-hibernation-only-if-there-s-enough-free-sw.patch +Patch056: 0056-Assume-that-proc-meminfo-can-be-missing.patch +Patch057: 0057-Use-first-partition-in-proc-swaps-for-hibernation-te.patch +Patch058: 0058-test-fileio-assume-that-Buffers-may-be-missing.patch +Patch059: 0059-Remove-duplicate-entries-from-syscall-list.patch +Patch060: 0060-libudev-add-missing-global-to-symbol-export.patch +Patch061: 0061-man-fix-description-of-sysctl.d-order.patch +Patch062: 0062-units-make-fsck-units-remain-after-exit.patch +Patch063: 0063-systemd-tmpfiles-setup-dev-remain-after-exit.patch +Patch064: 0064-kmod-static-nodes-remain-after-exit.patch +Patch065: 0065-sysctl-allow-overwriting-of-values-specified-in-late.patch +Patch066: 0066-Restore-reading-of-etc-sysctl.conf.patch +Patch067: 0067-mount-when-learning-about-the-root-mount-from-mounti.patch +Patch068: 0068-core-mount.c-mount_dump-don-t-segfault-if-mount-is-n.patch +Patch069: 0069-systemd-serialize-deserialize-forbid_restart-value.patch +Patch070: 0070-core-unify-the-way-we-denote-serialization-attribute.patch +Patch071: 0071-journal-vacuum-cleanup.patch +Patch072: 0072-journald-always-vacuum-empty-offline-files.patch +Patch073: 0073-journald-fix-vacuuming-of-archived-journals.patch +Patch074: 0074-journald-fix-fd-leak-in-journal_file_empty.patch +Patch075: 0075-journald-be-a-bit-more-verbose-when-vacuuming.patch +Patch076: 0076-journald-fix-minor-memory-leak.patch +Patch077: 0077-journald-remove-rotated-file-from-hashmap-when-rotat.patch +Patch078: 0078-udevadm.xml-document-resolve-names-option-for-test.patch +Patch079: 0079-dbus-common-avoid-leak-in-error-path.patch +Patch080: 0080-drop-ins-check-return-value.patch +Patch081: 0081-man-add-more-markup-to-udevadm-8.patch +Patch082: 0082-Fix-for-SIGSEGV-in-systemd-bootchart-on-short-living.patch +Patch083: 0083-man-document-the-b-special-boot-option.patch +Patch084: 0084-rules-expose-loop-block-devices-to-systemd.patch +Patch085: 0085-rules-don-t-limit-some-of-the-rules-to-the-add-actio.patch +Patch086: 0086-tmpfiles-log-unaccessible-FUSE-mount-points-only-as-.patch +Patch087: 0087-rules-remove-pointless-MODE-settings.patch +Patch088: 0088-shell-completion-dump-has-moved-to-systemd-analyze.patch +Patch089: 0089-give-priority-to-etc-sysctl.conf.patch +Patch090: 0090-libudev-fix-hwdb-validation-to-look-for-the-new-file.patch +Patch091: 0091-catalog-remove-links-to-non-existent-wiki-pages.patch +Patch092: 0092-udev-ata_id-log-faling-ioctls-as-debug.patch +Patch093: 0093-libudev-default-log_priority-to-INFO.patch +Patch094: 0094-man-explain-NAME-in-systemctl-man-page.patch +Patch095: 0095-systemd-python-convert-keyword-value-to-string.patch +Patch096: 0096-systemctl-make-LOAD-column-width-dynamic.patch +Patch097: 0097-Make-hibernation-test-work-for-swap-files.patch +Patch098: 0098-systemctl-return-r-instead-of-always-returning-0.patch +Patch099: 0099-button-don-t-exit-if-we-cannot-handle-a-button-press.patch +Patch100: 0100-timer-properly-format-relative-timestamps-in-the-fut.patch +Patch101: 0101-activate-mention-E-in-the-help-text.patch +Patch102: 0102-activate-fix-crash-when-s-is-passed.patch +Patch103: 0103-journal-timestamp-support-on-console-messages.patch +Patch104: 0104-Resolve-dev-console-to-the-active-tty-instead-of-jus.patch +Patch105: 0105-manager-don-t-do-plymouth-in-a-container.patch +Patch106: 0106-valgrind-make-running-PID-1-in-valgrind-useful.patch +Patch107: 0107-automount-log-info-about-triggering-process.patch +Patch108: 0108-util.c-check-if-return-value-from-ttyname_r-is-0-ins.patch +Patch109: 0109-docs-remove-unneeded-the-s-in-gudev-docs.patch +Patch110: 0110-systemd-treat-reload-failure-as-failure.patch +Patch111: 0111-journal-fail-silently-in-sd_j_sendv-if-journal-is-un.patch +Patch112: 0112-journal-handle-multiline-syslog-messages.patch +Patch113: 0113-systemctl-core-allow-nuking-of-symlinks-to-removed-u.patch +Patch114: 0114-journald-bump-the-journal-per-unit-ratelimit-default.patch +Patch115: 0115-service-execute-ExecStopPost-commands-when-the-watch.patch +Patch116: 0116-localed-match-converted-keymaps-before-legacy.patch + +# git diff --src-prefix=a/ --dst-prefix=b/ v204-stable..master -- hwdb/ > systemd-hwdb.patch +Patch0999: systemd-hwdb.patch # kernel-install patch for grubby, drop if grubby is obsolete Patch1000: kernel-install-grubby.patch @@ -901,6 +928,17 @@ fi %{_libdir}/pkgconfig/gudev-1.0* %changelog +* Sun Dec 08 2013 Zbigniew Jędrzejewski-Szmek 204-19 +- Update hardward database +- Backport fixes: keyboard configuration, run ExecStopPost= on + watchdog timeouts, bump journal ratelimits, fix systemctl disable + for multiple units, fix handling of multiline syslog messages, fail + journal logging gracefuly in mock, various logging updates, + documentation updates, fix systemctl reload failure propagation, + allow running systemd under valgrind, make journald log timestamps + on the console, allow hibernation to swap files, do not advertise + non-existent wiki pages, assorted smaller bugfixes. + * Wed Oct 23 2013 Zbigniew Jędrzejewski-Szmek 204-18 - Fix hwdb validation to look for the *new* file.